| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- /**
- * @author herong 05q多记录组件
- */
- var CFWSGlt = _FW.fCreateClass();
- /**
- * 05q多记录组件API
- */
- CFWSGlt.prototype = {
- // 原先没有这个, 不添加就报错 STX
- fInitialize : function(options) {
- },
- /**
- * 功能描述: 获取中文名称 (fnGet05qText)。 功能详细说明: type=05q控件是从多行数据集中筛选合适的一行数据,显示在界面上,
- * 因此当保存再跳转回当前页面的时候,页面不会显示数据,因为保存数据时只保存了代码值,
- * 没有保存代码值所对应的显示文本,因此界面初始化时通过fnGet05qText(oBjc,newText), 这个函数获取控件中文值。
- *
- * @param oBjc
- * 必须, 对象名称,类型为object, 如:aform.XB
- * @returns 返回当前jquery集合
- *
- * <pre>
- * 使用方法举例:
- * 打印读取出来的数据
- * alert("读取出来的数据: " + CFW.oSGlt.fnGet05qText(sGltFormDeom.HDFQR));
- * </pre>
- */
- fnGet05qText : function(oBjc) {
- if (CFW.oValid.fnIsNull(oBjc, "CFW.oSGlt.fnGet05qText 对象名称")) {
- return;
- }
- return $(oBjc).map(function() {
- return $.data($(oBjc).get(0), 'searchgrid').input.val();
- }).get(0);
- },
- /**
- * 功能描述: 设置中文名称 (fnSet05qText)。 功能详细说明: type=05q控件是从多行数据集中筛选合适的一行数据,显示在界面上,
- * 因此当保存再跳转回当前页面的时候,页面不会显示数据,因为保存数据时只保存了代码值,
- * 没有保存代码值所对应的显示文本,因此界面初始化时通过fnSet05qText(oBjc,newText), 这个函数给控件赋值。
- *
- * @param oBjc
- * 对象名称,类型为object, 如:aform.XB
- * @param sNewText
- * 新值
- * @returns 返回当前jquery集合
- *
- * <pre>
- * 使用方法举例:
- * 设置显示值为 textNewWal
- * var newText="textNewWal"
- * CFW.oSGlt.fnSet05qText(sGltFormDeom.HDFQR,newText);
- * alert("设置成功,显示值: "+newText);
- * </pre>
- */
- fnSet05qText : function(oBjc, sNewText) {
- if (CFW.oValid.fnIsNull(oBjc, "CFW.oSGlt.fnSet05qText 对象名称")) {
- return;
- }
- if (CFW.oValid.fnIsNull(sNewText, "CFW.oSGlt.fnSet05qText 显示值")) {
- return;
- }
- return $(oBjc).each(function() {
- $.data(oBjc, 'searchgrid').input.val(sNewText);
- $.data(oBjc, 'searchgrid').input.attr("tx", sNewText);
- $.data(oBjc, 'searchgrid').input.attr("vl", this.value);
- });
- },
- /**
- * 功能描述: 设置显示域 (fnSetTextField)。 功能详细说明:设置控件的显示值对应的字段,在05q控件中的显示值对应的字段,
- * 若不设置,默认sql配置中的第二列为显示字段。此API应在页面初始化时调用设置才有效。
- *
- * @param oBjc
- * 对象名称,类型为object, 如:aform.XB
- * @param sNewTextField
- * 字段名 String
- * @returns boolean,true或者false
- *
- * <pre>
- * 使用方法举例:
- * 使用方法:
- * 设置显示 loginid 或者 opername 并打印出显示值
- * 1 显示loginid
- * var val='loginid';
- * 2 显示opername
- * var val='opername';
- * CFW.oSGlt.setTextField(sGltFormDeom.HDFQR, val);
- * </pre>
- */
- fnSetTextField : function(oBjc, sNewTextField) {
- if (CFW.oValid.fnIsNull(oBjc, "CFW.oSGlt.fnSetTextField 对象名称")) {
- return;
- }
- if (CFW.oValid.fnIsNull(sNewTextField, "CFW.oSGlt.fnSetTextField 字段名")) {
- return;
- }
- // 系统只认大写, 需要转换
- var newTextField = sNewTextField.toUpperCase();
- return $(oBjc).each(function() {
- if (this.length == 0) {
- return null;
- }
- if (newTextField.length == 0) {
- return null;
- }
- var opts = $.data(this, 'searchgrid').options;
- opts.textField = newTextField;
- });
- },
- /**
- * 功能描述:设置控件是否只读 (fnSet05qReadOnly)。 功能详细说明:当05q控件需要获取或者设置成为只读属性时,则可采用此方法
- *
- * @param oBjc
- * 对象名称,类型为object, 如:aform.XB
- * @param sFlag
- * boolean,设置此参数时,表示设置05q控件的只读属性, 否则表示获取05q控件的只读属性
- * @returns jQuery,jquery集合
- *
- * <pre>
- * 使用方法举例:
- * 1 只读
- * var flag=true;
- * 2 取消只读
- * var flag=false;
- *
- * CFW.oSGlt.fnSet05qReadOnly(sGltFormDeom.HDFQR,flag);
- * alert("设置为'"+(flag? "只读":"可读")+"'成功");
- * </pre>
- */
- fnSet05qReadOnly : function(oBjc, flag) {
- if (CFW.oValid.fnIsNull(oBjc, "CFW.oSGlt.fnSet05qReadOnly 对象名称")) {
- return;
- }
- if (CFW.oValid.fnIsNull(flag, "CFW.oSGlt.fnSet05qReadOnly 只读属性")) {
- return;
- }
- return $(oBjc).each(function() {
- if (flag) {
- // 设置为只读
- var opts = $.data(this, 'searchgrid').options;
- var input = $.data(this, 'searchgrid').input;
- opts.disabled = true;
- $(this).removeAttr('disabled');
- CFW.oGt._disablePrimitiveInput(input[0]);
- } else {
- // 设置为非只读
- var opts = $.data(this, 'searchgrid').options;
- if (opts.disabled) {
- var input = $.data(this, 'searchgrid').input;
- CFW.oGt._enablePrimitiveInput(input[0]);
- opts.disabled = false;
- }
- }
- });
- },
- /**
- * 功能描述: 获取控件是否只读 (fnGet05qReadOnly)。 功能详细说明:当05Qq控件需要获取或者设置成为只读属性时,则可采用此方法
- *
- * @param oBjc
- * 对象名称,类型为object, 如:aform.XB 否则表示获取05q控件的只读属性
- * @returns boolean
- *
- * <pre>
- * 使用方法举例:
- * 获取sGltFormDeom.HDFQR的只读属性
- * alert("获取只读属性为: "+CFW.oSGlt.fnGet05qReadOnly(sGltFormDeom.HDFQR));
- * </pre>
- */
- fnGet05qReadOnly : function(oBjc) {
- if (CFW.oValid.fnIsNull(oBjc, "CFW.oSGlt.fnGet05qReadOnly 对象名称")) {
- return;
- }
- var opts = $.data($(oBjc).get(0), 'searchgrid').options;
- var rst = opts.disabled;
- // 经观察. 如果为可编辑的最初状态, 返回的不是 false. 而是undefined;
- return rst ? true : false;
- },
- /**
- * 功能描述: 设置05q查询条件(setWhereCls)。
- * 功能详细说明:设置控件查询后台的where语句,05q想查询出所有的结果,设置where语句1=1即可。
- * 想用05q想查询出与输入有关的结果,用?代表输入的信息,设置where语句即可。
- *
- * @param oBjc(必需)
- * 对象名称,类型为object, 如:aform.XB
- * @param sWhereCls(必需)
- * 05q控件查询后台的where语句,类型:Stirng。
- * @returns boolean, true或者false
- *
- * <pre>
- * 使用方法举例:
- * 测试1 var whereSql='1=1';
- * 测试2 var whereSql=" opername like '%?%' or loginid like '%?%'";
- *
- * CFW.oSGlt.fnSetWhereCls(sGltFormDeom.HDFQR, whereSql); * </pre>
- */
- fnSetWhereCls : function(oBjc, whereCls) {
- if (CFW.oValid.fnIsNull(oBjc, "CFW.oSGlt.fnSetWhereCls 对象名称")) {
- return false;
- }
- if (CFW.oValid.fnIsNull(whereCls, "CFW.oSGlt.fnSetWhereCls 05q控件查询后台的where语句")) {
- return false;
- }
- whereCls = whereCls || "1=2";
- $(oBjc).each(function() {
- var opts = $.data(this, 'searchgrid').options;
- opts.whereCls = whereCls;
- });
- return true;
- }
- };
|