填报查询

楼主
我是社区第438780位番薯,欢迎点我头像关注我哦~

发现参数下拉框控件可以实时刷新其绑定的数据集查询,利用这一功能做了一个填报实时查询。

思路:

操作演示

1、创建数据库查询ds1

select  

姓名||','||年龄 as items --将所需的字段合并

from Salary

${if(len(fr_id)=0,'--','')}where id = ${fr_id}

 

2、单元格id控件增加一个编辑结束事件

var cell = this.getValue();//获取编辑后的id

if (cell.length > 0){

_g().parameterEl.getWidgetByName("comboBox0").reset(); //复位参数下拉框控件

_g().parameterEl.getWidgetByName("fr_id").setValue(cell);//将id赋值给参数栏绑定全局变量"fr_id"控件

}

 

3、给参数下拉框控件"comboBox0"增加一个编辑结束事件

var items = this.getValue().split(',');//将合成字段分割复原成单个字段

var fr_id = _g().parameterEl.getWidgetByName("fr_id").getValue();//获取全局变量"fr_id"

var w_id = _g().getWidgetByName("w_id");//获取单元格id控件

var cr = FR.cellStr2ColumnRow(w_id.options.location)//获取单元格id控件位置

if (w_id.getValue() == fr_id) {//只对id相同的行进行操作

contentPane.setCellValue("B"+(i+1+cr.row),null,items[0]);//赋值第1个字段

contentPane.setCellValue("C"+(i+1+cr.row),null,items[1]);//赋值第2个字段

}else{//处理扩展单元格id控件

var w_id = _g().getWidgetsByName("w_id");

for(i = 0; i < w_id.length; i++){填报查询.zip (14.65 K)

if (w_id[i].getValue() == fr_id) {

contentPane.setCellValue("B"+(i+1+cr.row),null,items[0]);

contentPane.setCellValue("C"+(i+1+cr.row),null,items[1]);

break;

}

 

说明:参数下拉框控件需要手动点击才能触发刷新,如果哪位大神有好的方法请告知。

分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 1关注人数 3892浏览人数
最后回复于:2022-5-14 11:13

返回顶部 返回列表