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>