ChildDataTableClass流程子表管理类
ChildDataTableClass流程子表方法列表:
序号 | 函数名称 | 返回值 | 函数说明 |
1 | ChildDataTableClass.GetDataRowUniqueKey(子行控件对象) | 字符串 | 获得子表行的唯一标识 |
2 | ChildDataTableClass.AddRowByPosition(StartTRID, IsMetroForm) | 字符串 | 添加新行 |
3 | ChildDataTableClass.AddRow(sender, IsMetroForm) | 字符串 | 添加新行 |
4 | ChildDataTableClass.AddRowAfterRow(trobject, IsMetroForm) | 字符串 | 添加新行 |
5 | ChildDataTableClass.AddRowByTableID(TableID, IsMetroForm) | 字符串 | 添加新行 |
6 | ChildDataTableClass.ClearRow(ChildTableColumnCSSName, AutoCreateEmptyRow) | 无 | 删除所有行 |
7 | ChildDataTableClass.DeleteRow(sender, ShowConfirm) | 无 | 删除行 |
8 | ChildDataTableClass.GetLastEmptyRow(ContainerDIVID, CheckIfEmptyRowColumnCSSName, IsMetroForm) | 字符串 | 自动检查子表最后一个空行,如果无,则自动创建一个空行,并返回DataRowUniqueKey |
9 | ChildDataTableClass.GetValue(DataRowUniqueKey, ColumnCSSName) | 字符串 | 获得子表控件的值 |
10 | ChildDataTableClass.SetValue(DataRowUniqueKey, ColumnCSSName, Value) | 无 | 设置子表控件的值 |
11 | ChildDataTableClass.GetAllColumnNameList() | 数组 | 获得子表的所有字段列表 |
ChildDataTableClass流程子表事件列表:
序号 | 事件名称 | 事件说明 |
1 | PageDynamicObject.ChildDataTableConfig.AddRowSuccessCallBack | 添加行事件回调 |
2 | PageDynamicObject.ChildDataTableConfig.DeleteRowSuccessCallBack | 删除行事件回调 |
1、获得子表行的唯一标识
函数:ChildDataTableClass.GetDataRowUniqueKey(子行控件对象)
子行控件对象:子表行内的控件对象
返回: 字符串
2、ChildDataTableClass.AddRowByPosition添加新行
函数: ChildDataTableClass.AddRowByPosition(StartTRID, IsMetroForm)
StartTRID:指定tr行的ID
IsMetroForm:是否为metro风格
返回: 字符串,新创建的行的唯一标识
3、ChildDataTableClass.AddRow添加新行
函数: ChildDataTableClass.AddRow(sender, IsMetroForm)
sender:触发创建行的控件,即在当前触发事件控件下面创建新行
IsMetroForm:是否为metro风格
返回: 字符串,新创建的行的唯一标识
if (Element.GetValue($(".子表行 .产品编码").last()).length > 0) { ChildDataTableClass.AddRow($(".子表行 .产品编码").last(), false); }
4、ChildDataTableClass.AddRowAfterRow添加新行
函数: ChildDataTableClass.AddRowAfterRow(trobject, IsMetroForm)
trobject:行对象,在哪一行的下面创建新行
IsMetroForm:是否为metro风格
返回: 字符串,新创建的行的唯一标识
ChildDataTableClass.AddRowAfterRow($(".子表行").last(), false);
5、ChildDataTableClass.AddRowByTableID添加新行
函数: ChildDataTableClass.AddRowByTableID(TableID, IsMetroForm)
TableID:表格ID,在哪个表格下面添加新行
IsMetroForm:是否为metro风格
返回: 字符串,新创建的行的唯一标识
6、删除所有行
函数:ChildDataTableClass.ClearRow(ChildTableColumnCSSName, AutoCreateEmptyRow)
ChildTableColumnCSSName:子表某个字段的CSS名称,用于批量选择子表行
AutoCreateEmptyRow:删除所有的子表行后,是否自动创建一行空白行
返回: 无
//清空所有明细 PageDynamicObject.清空所有明细 = function () { ChildDataTableClass.ClearRow("产品编码", true); PageDynamicObject.ChildDataTableConfig.DeleteRowSuccessCallBack(); };
7、删除行
函数:ChildDataTableClass.DeleteRow(sender, ShowConfirm)
sender:触发删除行的控件,即删除当前控件所在的行
ShowConfirm:true/false,是否让用户确认删除
返回: 字符串
//删除其它同样编码的行 var DataRowUniqueKey = $(".产品编码", CurrentRowObject)[0].id.split("_").last(); var 产品编码 = Element.GetValue($(".产品编码", CurrentRowObject)); $(".产品编码").foreach(function (item, index) { if (Element.GetValue($(item)) == 产品编码 && item.id.split("_").last() != DataRowUniqueKey) { PopupToastMessage("warning", 产品编码 + "已经添加过了,系统已自动删除了重复的记录!"); ChildDataTableClass.DeleteRow(item, false); } });
8、自动检查子表最后一个空行,如果无,则自动创建一个空行,并返回DataRowUniqueKey
函数:ChildDataTableClass.GetLastEmptyRow(ContainerDIVID, CheckIfEmptyRowColumnCSSName, IsMetroForm)
ContainerDIVID:子表容器的ID
CheckIfEmptyRowColumnCSSName:用于检测行是否为空的字段的CSS
IsMetroForm:是否为metro风格
返回: 字符串
var DataRowUniqueKey = ChildDataTableClass.GetLastEmptyRow("MainWorkFlowCSSTable", "产品编码", false);
9、获得子表控件的值
函数:ChildDataTableClass.GetValue(DataRowUniqueKey, ColumnCSSName)
DataRowUniqueKey:子表行的唯一标识
ColumnCSSName:字符的CSS
返回: 字符串
var DataRowUniqueKey = sender.id.split("_").last(); var 仓库 = ChildDataTableClass.GetValue(DataRowUniqueKey, "仓库"); if (仓库.length == 0) { alert("请先选择仓库!"); }
10、设置子表控件的值
函数:ChildDataTableClass.SetValue(DataRowUniqueKey, ColumnCSSName, Value)
DataRowUniqueKey:子表行的唯一标识
ColumnCSSName:字符的CSS
Value:设置字段的值
返回: 无
ChildDataTableClass.SetValue(DataRowUniqueKey, "调入仓库", "");
11、获得子表的所有字段列表
函数:ChildDataTableClass.GetAllColumnNameList()
返回: 子表所有字符名称的数组
12、添加行事件回调
事件:PageDynamicObject.ChildDataTableConfig.AddRowSuccessCallBack
//添加行的回调 PageDynamicObject.ChildDataTableConfig.AddRowSuccessCallBack = function () { ScrollBarClass.Resize($("#产品清单层")); };
13、删除行事件回调
事件:PageDynamicObject.ChildDataTableConfig.DeleteRowSuccessCallBack
//删除行的回调 PageDynamicObject.ChildDataTableConfig.DeleteRowSuccessCallBack = function () { if ($(".数量").length > 0) { $($(".数量")[0]).fireEvent("change"); } else { Element.SetValue($(".合计数量"), "0"); } if ($(".金额").length > 0) { $($(".金额")[0]).fireEvent("change"); } else { Element.SetValue($(".合计金额"), "0"); } ScrollBarClass.Resize($("#产品清单层")); };