HtmlControl控件管理
序号 | 函数名称 | 返回值 | 函数说明 |
1 | GetHtmlControlFormPostDataObject(TargetFormPanelID, DataRowUniqueKeyArray, ContainerElement, ShowErrorMsg) | JSON对象 | 获取界面上所有控件的值 |
2 | 修改控件属性(控件ID, Config) | 无 | 修改控件属性 |
3 | 修改控件属性ByElement(element, Config) | 无 | 批量修改控件属性 |
4 | 获得控件属性(控件ID, AttributeName) | 字符串 | 获得控件属性 |
5 | CreateNewHtmlControl(ContainerDIVID, IsMetroStyle, DataRowUniqueKey, ObjectID, HtmlControlType, DataSoureJSON, IsSystemFrameWork, DataSoureSql, DataSourceKeyColumn, DataSourceValueColumn, DefaultValue, ExtraProperties, SuccessCallBack, ErrorCallBack) | 无 | 创建一个新的控件 |
6 | BlindSelectEventForHTMLControl(BlindColumnObject, LinkageColumnID, PageDynamicObjectPropertyName, SuccessCallBack, IsRestrictMode, OptionText, DefaultValue) | 无 | 创建二级联动 |
7 | AddQuickSearchForSelect(SelectObjectID) | 无 | 创建下拉控件的快速查询功能 |
1、获取界面上所有控件的值
函数:GetHtmlControlFormPostDataObject(TargetFormPanelID, DataRowUniqueKeyArray, ContainerElement, ShowErrorMsg)
TargetFormPanelID:表单ID,可以为空,则获取界面上所有的控件
DataRowUniqueKeyArray:缺省,不传入任何值
ContainerElement:缺省,不传入任何值
ShowErrorMsg:缺省,不传入任何值
返回: JSON对象。格式:{ IsValid: true/false, PostDataObject: 表单所有值的JSON字符串 }
var Config = GetHtmlControlFormPostDataObject(); if (Config.IsValid) { //PostDataObject对象里面有所有表单控件的值 var PostDataObject = eval("(" + Config.PostDataObject + ")"); console.log(PostDataObject); }
2、修改控件属性
函数:修改控件属性(控件ID, Config)
控件ID:控件ID
Config:传入JSON,全部属性包括:{DataRowUniqueKey:"流程主表",ObjectID:"开票申请表主表_Money",ObjectName:"开票申请表主表_Money",ColumnName:"开票申请表主表_Money",ColumnNameCN:"开票金额",ColumnType:"NUMBER",IsNotAllowNullValueField:true,NullValueAlertText:"票据金额不能为空!",ToogleText:"必填",MinValue:"33",MaxValue:"",MinLength:"",MaxLength:"",CustomizedValidate:""};以上属性只需传入需要修改的,不修改的属性不用传入。
DataRowUniqueKey:表单标识
ObjectID:控件的ID
ObjectName:控件的名称
ColumnName:数据库字段名称
ColumnNameCN:数据库字段中文名称
ColumnType:控件类型
IsNotAllowNullValueField:是否允许为空
NullValueAlertText:不允许为空当值为空时的提示
ToogleText:切换文本,即值为空时的背景提示文字
MinValue:最小值
MinValue:最大值
MinLength:最小长度
MaxLength:最大长度
CustomizedValidate:有效性验证函数
返回: 无
修改控件属性("合同会审主表_ContractMoney",{ MinValue:"0",MinValue:"100000" });
3、批量修改控件属性
函数:修改控件属性ByElement(element, Config)
element:批量修改属性的控件
Config:传入JSON,参见上面的《修改控件属性》的介绍
返回: 无
4、获得控件属性
函数:获得控件属性(控件ID, AttributeName)
控件ID:控件ID
AttributeName:属性名称,参见上面的《修改控件属性》的介绍
返回: 字符串
var MinValue = 获得控件属性(TargetObjectID, "MinValue"); if (MinValue.length > 0) { numbervalue = Math.max(numbervalue, parseFloat(MinValue)); }
5、创建一个新的控件
函数: CreateNewHtmlControl(ContainerDIVID, IsMetroStyle, DataRowUniqueKey, ObjectID, HtmlControlType, DataSoureJSON, IsSystemFrameWork, DataSoureSql, DataSourceKeyColumn, DataSourceValueColumn, DefaultValue, ExtraProperties, SuccessCallBack, ErrorCallBack)
ContainerDIVID:显示控件的层ID
IsMetroStyle:是否为metro风格,传入true/false
DataRowUniqueKey:表单标识
ObjectID:控件ID
HtmlControlType:控件类型
DataSoureJSON:单选,多选,下拉的JSON数据源
IsSystemFrameWork:单选,多选,下拉的SQL数据源是否从框架数据库取值
DataSoureSql:单选,多选,下拉的SQL数据源
DataSourceKeyColumn:单选,多选,下拉的SQL数据源中主键字段
DataSourceValueColumn:单选,多选,下拉的SQL数据源中显示名称字段
DefaultValue:默认值
ExtraProperties:额外的属性
SuccessCallBack:创建成功后的回调
ErrorCallBack:创建失败后的回调
返回: 无
//用JSON方式来创建单选 CreateNewHtmlControl("打卡方式设置层", true, "Common", "打卡方式", "RADIO", { "": "不限", "APP": "APP", "考勤机": "考勤机" }, false, "", "", "", "", null, function () { InitMetroForm("打卡方式设置层"); }, Common_Error); //用JSON方式创建下拉 var 原状态=""; CreateNewHtmlControl("主表状态字段", false, "Common", "主表状态", "SELECT", { "未处理": "未处理", "已处理": "已处理", "不处理": "不处理" }, false, "", "", "", 原状态, {}, function () { }, null);
6、创建二级联动
函数:BlindSelectEventForHTMLControl(BlindColumnObject, LinkageColumnID, PageDynamicObjectPropertyName, SuccessCallBack, IsRestrictMode, OptionText, DefaultValue)
BlindColumnObject:二级联动的字段对象
LinkageColumnID:父级控件ID
PageDynamicObjectPropertyName:数据源名称,必须装在PageDynamicObject对象下面。如传入"性别",则必须在页面中构造一下对象:PageDynamicObject.性别={ "男":"男","女":"女" };
SuccessCallBack:绑定完二级联动后的回调
IsRestrictMode:二级联动控件是否为限定模式,即不会创建一个空选项
OptionText:如果IsRestrictMode为false,则空选项的文字
DefaultValue:二级联动控件的默认值
返回: 无
//绑定二级联动 PageDynamicObject.NewAgencyDepartmentDictionary = {}; BlindSelectEventForHTMLControl(document.getElementById("调拨管理主表_NewAgencyID"), "调拨管理主表_NewDepartmentID", "NewAgencyDepartmentDictionary", "", true, "", "<$NewDepartmentID.主表$>");
7、创建下拉控件的快速查询功能
函数:AddQuickSearchForSelect(SelectObjectID)
SelectObjectID:下拉控件的ID
返回: 无
<a href="javascript:AddQuickSearchForSelect('DataBaseTableName')">查询</a>