/** * @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集合 * *
	* 使用方法举例:
     *  打印读取出来的数据
     *  alert("读取出来的数据: " +  CFW.oSGlt.fnGet05qText(sGltFormDeom.HDFQR));
	* 
*/ 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集合 * *
	* 使用方法举例:
     *   设置显示值为 textNewWal
     *   var newText="textNewWal"
     *   CFW.oSGlt.fnSet05qText(sGltFormDeom.HDFQR,newText);
     *   alert("设置成功,显示值: "+newText);
	* 
*/ 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 * *
	* 使用方法举例:
	*    使用方法:
    *   设置显示 loginid 或者 opername 并打印出显示值
    *   1 显示loginid
    *   var val='loginid';
    *   2 显示opername
    *   var val='opername';
    *   CFW.oSGlt.setTextField(sGltFormDeom.HDFQR, val);
	* 
*/ 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集合 * *
	* 使用方法举例:
    *   1 只读
    *   var flag=true;
    *   2 取消只读
    *   var flag=false;
    *   
    *   CFW.oSGlt.fnSet05qReadOnly(sGltFormDeom.HDFQR,flag);
    *   alert("设置为'"+(flag? "只读":"可读")+"'成功");
	* 
*/ 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 * *
	* 使用方法举例:
	* 获取sGltFormDeom.HDFQR的只读属性
	* alert("获取只读属性为: "+CFW.oSGlt.fnGet05qReadOnly(sGltFormDeom.HDFQR));
	* 
*/ 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 * *
    *   使用方法举例:
    *   测试1 var whereSql='1=1';
    *   测试2 var whereSql=" opername like '%?%' or loginid like '%?%'";
    *   
    *   CFW.oSGlt.fnSetWhereCls(sGltFormDeom.HDFQR, whereSql);	* 
*/ 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; } };