方法
Forguncy.modifyTablesData(modifyData, callback, errorCallback)
描述
添加/修改/删除数据表中的数据。
此方法用于解决以下两个问题:
- 目前活字格提供了可以对一行数据的增删改。但是如果用户想在同一时间对1000行进行增删改,那就需要对服务器发送1000次的请求,这个将会花费很长时间,并且消耗很多服务器资源。
- 如果用户想一次性增加1000行,用户需要循环添加1000次,但是如果其中有一次失败,用户则无法取消之前已经插入的数据。在某些情况下,取消全部的插入会更好。
参数说明
参数 | 类型 | 说明 |
---|---|---|
modifyData | plainObject | 指定一个对象,其中包含对哪些表,添加/修改/删除哪些行的哪些列的数据。 |
callBack | function | 成功回调函数,此回调函数会在电子邮件成功发送后被调用。该参数为可选参数。 |
errorCallback | function | 失败回调函数,此回调函数会在电子邮件发送失败后被调用,并且通过参数通知错误信息。该参数为可选参数。 |
返回值
无
示例
假设有两个表“表1”和“表2”,每个表都有三列“ID”、“姓名”、“部门”。
1.插入多行数据
// 向表1和表2中插入多行数据 Forguncy.modifyTablesData({ 表1: { addRows: [ { 姓名: "李雷", 部门: "开发部", }, { 姓名: "韩梅梅", 部门: "管理部", }, ] }, 表2: { addRows: [ { 姓名: "张三", 部门: "市场部", }, { 姓名: "李四", 部门: "市场部", }, ] } });
2.删除多行数据
// 删除行 Forguncy.modifyTablesData({ 表1: { deleteRows: [ { ID: 2 }, { ID: 3 }, ] }, 表2: { deleteRows: [ { ID: 3 }, { ID: 4 }, ] } });
3.更新多行数据
// 更新行 Forguncy.modifyTablesData({ 表1: { editRows: [ { primaryKey: { ID: 2 }, values: { 姓名: "李明", 部门: "设计部" } }, { primaryKey: { ID: 3 }, values: { 姓名: "赵蕾", 部门: "开发部" } }, ] }, 表2: { editRows: [ { primaryKey: { ID: 3 }, values: { 姓名: "小李", 部门: "开发部" } }, { primaryKey: { ID: 4 }, values: { 姓名: "小王", 部门: "管理部" } }, ] } });
4.同时添加、删除、修改多行数据
// 添加、修改、删除行 Forguncy.modifyTablesData({ 员工表: { addRows: [ { 姓名: "王明", 部门: "开发部", }, { 姓名: "赵蕾", 部门: "管理部", }, ], deleteRows: [ { ID: 1 }, { ID: 2 }, ], editRows: [ { primaryKey: { ID: 3 }, values: { 姓名: "小李", 部门: "开发部" } }, { primaryKey: { ID: 4 }, values: { 姓名: "小王", 部门: "管理部" } }, ] } });
说明
操作步骤
在页面上选择一个区域,将数据表拖拽到单元格区域中,绑定数据表中的字段。
在页面中选择一个单元格区域,设置其单元格类型为按钮,编辑命令为“JavaScript命令”,并输入JavaScript代码。
这里的代码为示例代码4,同时添加、删除、修改多行数据。
编辑完成后,单击“确定”关闭对话框。
运行页面,在页面中单击编辑数据按钮后,就会 添加/修改/删除数据表中的数据:添加ID为5的王明和ID为6的赵蕾;删除ID为1的李雷和ID为2的韩梅梅;更新ID为3的姓名为小李,ID为4的姓名为小王,部门更新为管理部。