CommonChildDataTableClass通用子表管理类

CommonChildDataTableClass流程子表方法列表:

序号
函数名称
返回值
函数说明
 1
 CommonChildDataTableClass.GetDataRowUniqueKey(子行控件对象)
 字符串 获得子表行的唯一标识
 2
 CommonChildDataTableClass.AddRowByPosition(CommonChildTableConfigUniqueKey, StartTRID, IsMetroForm)
 字符串 添加新行
 3
 CommonChildDataTableClass.AddRow(CommonChildTableConfigUniqueKey, sender, IsMetroForm)
 字符串 添加新行
 4
 CommonChildDataTableClass.ClearRow(CommonChildTableConfigUniqueKey, ChildTableColumnCSSName, AutoCreateEmptyRow)
 无 删除所有行
 5
 CommonChildDataTableClass.DeleteRow(CommonChildTableConfigUniqueKey, sender, ShowConfirm)
 无 删除行
 6
 CommonChildDataTableClass.GetLastEmptyRow(CommonChildTableConfigUniqueKey, CheckIfEmptyRowColumnCSSName, IsMetroForm)
 字符串 自动检查子表最后一个空行,如果无,则自动创建一个空行,并返回DataRowUniqueKey
 7
 CommonChildDataTableClass.GetValue(CommonChildTableConfigUniqueKey, DataRowUniqueKey, ColumnCSSName)
 字符串 获得子表控件的值
 8
 CommonChildDataTableClass.SetValue(CommonChildTableConfigUniqueKey, DataRowUniqueKey, ColumnCSSName, Value)
 无 设置子表控件的值
 9
 CommonChildDataTableClass.GetCommonChildTableConfigUniqueKeyList()
 数组 获得界面上面的所有通用子表标识
 10
 CommonChildDataTableClass.GetPostData()
 JSON对象 获得所有通用子表的表单值
 11
 CommonChildDataTableClass.GetPostDataByUniqueKey(CommonChildTableConfigUniqueKey)
 JSON对象 获得某个通用子表的表单值
 12
 CommonChildDataTableClass.ChangePageSize(CommonChildTableConfigUniqueKey, PageSize)
 无 更改每页显示数量
 13
 CommonChildDataTableClass.GoToPage(CommonChildTableConfigUniqueKey, PageNo)
 无 加载某页数据
 14
 CommonChildDataTableClass.LoadData(CommonChildTableConfigUniqueKey)
 无 加载某个通用子表的数据
 15
 CommonChildDataTableClass.FillChildFormCoreByObject(CommonChildTableConfigUniqueKey, DataRowUniqueKey, dic)
 无 自动填充通用子表一条的数据
 16
 CommonChildDataTableClass.LoadPageClass.Initiate(ActionName, ContainerDIVID, CommonChildTableConfigUniqueKey, ParentTableDictionary, PageNo, SuccessCallBack, ErrorCallBack, StrWhere)
 无 初始化并自动加载通用子表
 17
 CommonChildDataTableClass.LoadPageClass.InitiateByHandMode(ActionName, ContainerDIVID, CommonChildTableConfigUniqueKey, ParentTableDictionary, PageNo, SuccessCallBack, ErrorCallBack, StrWhere)
 无 初始化,但并不自动加载通用子表
 18
 CommonChildDataTableClass.LoadPageClass.LoadData(CommonChildTableConfigUniqueKey)
 无 加载某个通用子表的数据
 19
 CommonChildDataTableClass.LoadPageClass.LoadDataByHandMode(CommonChildTableConfigUniqueKey)
 无 手动加载某个通用子表的数据
 20
 CommonChildDataTableClass.LoadPageClass.GoToPage(CommonChildTableConfigUniqueKey, n)
 无 加载某页数据
 21
 CommonChildDataTableClass.LoadPageClass.ChangePageSize(CommonChildTableConfigUniqueKey, PageSize)
 无 更改每页显示数量
 22
 CommonChildDataTableClass.LoadPageClass.Save(CommonChildTableConfigUniqueKey, SuccessCallBack, ErrorCallBack)
 无 保存通用子表的表单数据
 23
 CommonChildDataTableClass.LoadPageClass.Refresh(CommonChildTableConfigUniqueKey, SuccessCallBack)
 无 刷新通用子表的数据
 24
 CommonChildDataTableClass.LoadPageClass.ExportExcel(CommonChildTableConfigUniqueKey, ExcelFileName)
 无 导出通用子表的数据

 

CommonChildDataTableClass流程子表事件列表:

序号
事件名称
事件说明
 1
 PageDynamicObject.CommonChildDataTableConfig[CommonChildTableConfigUniqueKey].AddRowSuccessCallBack
 添加行事件回调
 2
 PageDynamicObject.CommonChildDataTableConfig[CommonChildTableConfigUniqueKey].DeleteRowSuccessCallBack
 删除行事件回调

 

1、获得子表行的唯一标识

函数:CommonChildDataTableClass.GetDataRowUniqueKey(子行控件对象)

子行控件对象:子表行内的控件对象

返回: 字符串

 

2、CommonChildDataTableClass.AddRowByPosition添加新行

函数: CommonChildDataTableClass.AddRowByPosition(CommonChildTableConfigUniqueKey, StartTRID, IsMetroForm)

CommonChildTableConfigUniqueKey:通用子表标识

StartTRID:指定tr行的ID

IsMetroForm:是否为metro风格

返回: 字符串,新创建的行的唯一标识

 

3、CommonChildDataTableClass.AddRow添加新行

函数: CommonChildDataTableClass.AddRow(CommonChildTableConfigUniqueKey, sender, IsMetroForm)

CommonChildTableConfigUniqueKey:通用子表标识

sender:触发创建行的控件,即在当前触发事件控件下面创建新行

IsMetroForm:是否为metro风格

返回: 字符串,新创建的行的唯一标识

var CommonChildTableConfigUniqueKey = 通用子表名称 + "管理";
var elements = $("." + CommonChildTableConfigUniqueKey);
if (elements.length > 0)
{
    CommonChildDataTableClass.AddRow(CommonChildTableConfigUniqueKey, $($("td", elements.last())[0]), false)
}
else
{
    CommonChildDataTableClass.AddRowByPosition(CommonChildTableConfigUniqueKey, 通用子表名称 + 'Title', false);
}

 

4、删除所有行

函数:CommonChildDataTableClass.ClearRow(CommonChildTableConfigUniqueKey, ChildTableColumnCSSName, AutoCreateEmptyRow)

CommonChildTableConfigUniqueKey:通用子表标识

ChildTableColumnCSSName:子表某个字段的CSS名称,用于批量选择子表行

AutoCreateEmptyRow:删除所有的子表行后,是否自动创建一行空白行

返回: 无

 

5、删除行

函数:CommonChildDataTableClass.DeleteRow(CommonChildTableConfigUniqueKey, sender, ShowConfirm)

CommonChildTableConfigUniqueKey:通用子表标识

sender:触发删除行的控件,即删除当前控件所在的行

ShowConfirm:true/false,是否让用户确认删除

返回: 字符串

var 产品编码列表 = [];
$(".产品编码").foreach(function (item, index)
{
    if (item.value.length > 0)
    {
        if (Array.contains(产品编码列表, item.value))
        {
            //删除产品编码相同的行
            CommonChildDataTableClass.DeleteRow("BOM表清单管理", item, false);
        }
        else
        {
            Array.include(产品编码列表, item.value);
        }
    }
});

 

6、自动检查子表最后一个空行,如果无,则自动创建一个空行,并返回DataRowUniqueKey

函数: CommonChildDataTableClass.GetLastEmptyRow(CommonChildTableConfigUniqueKey, CheckIfEmptyRowColumnCSSName, IsMetroForm)

CommonChildTableConfigUniqueKey:通用子表标识

CheckIfEmptyRowColumnCSSName:用于检测行是否为空的字段的CSS

IsMetroForm:是否为metro风格

返回: 字符串

 

7、获得子表控件的值

函数:CommonChildDataTableClass.GetValue(CommonChildTableConfigUniqueKey, DataRowUniqueKey, ColumnCSSName)

CommonChildTableConfigUniqueKey:通用子表标识

DataRowUniqueKey:子表行的唯一标识

ColumnCSSName:字符的CSS

返回: 字符串

 

8、设置子表控件的值

函数: CommonChildDataTableClass.SetValue(CommonChildTableConfigUniqueKey, DataRowUniqueKey, ColumnCSSName, Value)

CommonChildTableConfigUniqueKey:通用子表标识

DataRowUniqueKey:子表行的唯一标识

ColumnCSSName:字符的CSS

Value:设置字段的值

返回: 无

 

9、获得界面上面的所有通用子表标识

函数: CommonChildDataTableClass.GetCommonChildTableConfigUniqueKeyList()

返回: 数组

 

10、获得所有通用子表的表单值

函数: CommonChildDataTableClass.GetPostData()

返回:  JSON对象

 

11、获得某个通用子表的表单值

函数: CommonChildDataTableClass.GetPostDataByUniqueKey(CommonChildTableConfigUniqueKey)

CommonChildTableConfigUniqueKey:通用子表标识

返回:  JSON对象

 

12、更改每页显示数量

函数: CommonChildDataTableClass.ChangePageSize(CommonChildTableConfigUniqueKey, PageSize)

CommonChildTableConfigUniqueKey:通用子表标识

PageSize:每页显示数量

返回:  无

 

13、加载某页数据

函数:CommonChildDataTableClass.GoToPage(CommonChildTableConfigUniqueKey, PageNo)

CommonChildTableConfigUniqueKey:通用子表标识

PageNo:页码

返回:  无

 

14、加载某个通用子表的数据

函数:CommonChildDataTableClass.LoadData(CommonChildTableConfigUniqueKey)

CommonChildTableConfigUniqueKey:通用子表标识

返回:  无

 

15、自动填充通用子表一条的数据

函数:CommonChildDataTableClass.FillChildFormCoreByObject(CommonChildTableConfigUniqueKey, DataRowUniqueKey, dic)

CommonChildTableConfigUniqueKey:通用子表标识

DataRowUniqueKey:子表行唯一标识

dic:要填表的数据字典JSON

返回:  无

 

16、 初始化并自动加载通用子表

函数:CommonChildDataTableClass.LoadPageClass.Initiate(ActionName, ContainerDIVID, CommonChildTableConfigUniqueKey, ParentTableDictionary, PageNo, SuccessCallBack, ErrorCallBack, StrWhere)

ActionName:动作名称,可随意命名

ContainerDIVID:显示通用子表元素的ID,将通用子表显示在哪个层上面

CommonChildTableConfigUniqueKey:通用子表标识

ParentTableDictionary:父表主键JSON。如通用子表的主键是CustomerID,则传入 { CustomerID:客户的编号 }

PageNo:显示第几页

SuccessCallBack:加载成功后的回调

ErrorCallBack:加载失败后的回调

StrWhere:加载通用子表额外的SQL条件

返回:  无

//加载列表
CommonChildDataTableClass.LoadPageClass.Initiate("加载项目列表", "ProjectListDIV", "合同详情页流程项目立项申请", { ContractNO: OriginDictionary.ContractNO }, 1, null, null);

 

17、初始化,但并不自动加载通用子表

函数:CommonChildDataTableClass.LoadPageClass.InitiateByHandMode(ActionName, ContainerDIVID, CommonChildTableConfigUniqueKey, ParentTableDictionary, PageNo, SuccessCallBack, ErrorCallBack, StrWhere)

ActionName:动作名称,可随意命名

ContainerDIVID:显示通用子表元素的ID,将通用子表显示在哪个层上面

CommonChildTableConfigUniqueKey:通用子表标识

ParentTableDictionary:父表主键JSON。如通用子表的主键是CustomerID,则传入 { CustomerID:客户的编号 }

PageNo:显示第几页

SuccessCallBack:加载成功后的回调

ErrorCallBack:加载失败后的回调

StrWhere:加载通用子表额外的SQL条件

返回:  无

 

18、加载某个通用子表的数据(一般配合CommonChildDataTableClass.LoadPageClass.InitiateByHandMode使用)

函数:CommonChildDataTableClass.LoadPageClass.LoadData(CommonChildTableConfigUniqueKey)

CommonChildTableConfigUniqueKey:通用子表标识

返回:  无

 

19、手动加载某个通用子表的数据(一般配合CommonChildDataTableClass.LoadPageClass.InitiateByHandMode使用)

函数:CommonChildDataTableClass.LoadPageClass.LoadDataByHandMode(CommonChildTableConfigUniqueKey)

CommonChildTableConfigUniqueKey:通用子表标识

返回:  无

 

20、加载某页数据

函数:CommonChildDataTableClass.LoadPageClass.GoToPage(CommonChildTableConfigUniqueKey, n)

CommonChildTableConfigUniqueKey:通用子表标识

n:页码

返回:  无

 

21、更改每页显示数量

函数:CommonChildDataTableClass.LoadPageClass.ChangePageSize(CommonChildTableConfigUniqueKey, PageSize)

CommonChildTableConfigUniqueKey:通用子表标识

PageSize:每页显示数量

返回:  无

 

22、保存通用子表的表单数据

函数:CommonChildDataTableClass.LoadPageClass.Save(CommonChildTableConfigUniqueKey, SuccessCallBack, ErrorCallBack)

CommonChildTableConfigUniqueKey:通用子表标识

SuccessCallBack:保存成功后的回调

ErrorCallBack:保存失败后的回调

返回:  无

CommonChildDataTableClass.LoadPageClass.Save("数据表销售目标销售目标管理", function ()
{
    PageRightContentSliderClass.Close();
    Common_Success_Grid({ ActionName: "新建销售目标" });
}, Common_Error);

 

23、刷新通用子表的数据

函数:CommonChildDataTableClass.LoadPageClass.Refresh(CommonChildTableConfigUniqueKey, SuccessCallBack)

CommonChildTableConfigUniqueKey:通用子表标识

SuccessCallBack:保存成功后的回调

返回:  无

 

24、导出通用子表的数据

函数:CommonChildDataTableClass.LoadPageClass.ExportExcel(CommonChildTableConfigUniqueKey, ExcelFileName)

CommonChildTableConfigUniqueKey:通用子表标识

ExcelFileName:附件名称

返回:  无

<button class="btn btn-primary btn-small" type="button" name="follow" style="font-weight: 400; width: 100%; font-size: 12px;" onclick="CommonChildDataTableClass.LoadPageClass.ExportExcel('项目产品明细表查看通过项目编码','项目工作量明细')">导出excel</button>

 

25、添加行事件回调

事件:PageDynamicObject.CommonChildDataTableConfig[CommonChildTableConfigUniqueKey].AddRowSuccessCallBack

//注册添加行后的回调
PageDynamicObject.CommonChildDataTableConfig["合同产品明细表管理"].AddRowSuccessCallBack = function (trobject)
{
    //trobject是新建的行对象
};

 

26、删除行事件回调

事件: PageDynamicObject.CommonChildDataTableConfig[CommonChildTableConfigUniqueKey].DeleteRowSuccessCallBack

//注册删除后回调
PageDynamicObject.CommonChildDataTableConfig["合同产品明细表管理"].DeleteRowSuccessCallBack = PageDynamicObject.合计合同金额;

//合计合同金额
PageDynamicObject.合计合同金额 = function ()
{
    SummaryField("合同产品明细表金额", "合同会审主表_ContractMoney", 2);
    ConvertChineseMoney("合同会审主表_金额大写", 获取数值("合同会审主表_ContractMoney", 2));
};