2018-02-28报表里面有时会需要清空查询条件,还没见到有清空的按钮控件,所以根据论坛某位小哥的贴整理一下
本帖的主要目的是遍历获取参数控件名称
如图所示包含参数面板基本控件,注意控件名称采用默认,字母有大写有小写还有个0.其中radio和checkbox样式没有做处理。
希望达到的效果是点击清除按钮后,除文本框以外的所有控件值都清空,只有文本框有值。
在清除按钮上添加点击事件:
用$.each{this.options.form.name.widgets}遍历获取参数控件,
先打印控件名称:console.log("***控件名称="+item.options.widgetName);
置空: item.setValue();
点击模板预览,会报错,报错类型undefined,一般指类型错误,先跳过这个错误我们继续执行:
将各种控件框赋值,注意红圈处我们希望点击按钮后保留。点击按钮执行清除:
看执行结果,日期框,数字框,raio结果都没有清除,并且数字框还出现了undefined,与前面的报错一致。
控制台打印的名称,全部变成了大写。所以遍历获取参数面板控件名称是可以做到的,只是获取的结果都变成大写,在使用的时候要注意这点。
点击清除事件代码:
$.each(this.options.form.name_widgets,function(i,item){
console.log("***控件名称="+item.options.widgetName);
if (item.options.widgetName !='ORDER_SUM'){// 控件名称不等于文本框
item.setValue();
}
});
此文感谢@alu
注意打印的名称中,既打印了窗体名称,也打印了按钮名称。
contentPane.setCellValue("A1",null,"");
contentPane.getWidgetByCell('A1').reset();