Page tree
Skip to end of metadata
Go to start of metadata

 方法

   Forguncy.modifyTablesData(modifyData, callback, errorCallback)

 描述

   添加/修改/删除数据表中的数据。

   此方法用于解决以下两个问题:

  1. 目前活字格提供了可以对一行数据的增删改。但是如果用户想在同一时间对1000行进行增删改,那就需要对服务器发送1000次的请求,这个将会花费很长时间,并且消耗很多服务器资源。
  2. 如果用户想一次性增加1000行,用户需要循环添加1000次,但是如果其中有一次失败,用户则无法取消之前已经插入的数据。在某些情况下,取消全部的插入会更好。

 参数说明

参数类型说明
modifyDataplainObject指定一个对象,其中包含对哪些表,添加/修改/删除哪些行的哪些列的数据。
callBackfunction成功回调函数,此回调函数会在电子邮件成功发送后被调用。该参数为可选参数。
errorCallbackfunction失败回调函数,此回调函数会在电子邮件发送失败后被调用,并且通过参数通知错误信息。该参数为可选参数。


 返回值

   无

 示例

   假设有两个表“表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 Api操作数据库”,则使用此方法添加/修改/删除数据表中的数据时会失败。取消勾选此项再使用此方法就会正确执行。

 操作步骤

  在页面上选择一个区域,将数据表拖拽到单元格区域中,绑定数据表中的字段。

  在页面中选择一个单元格区域,设置其单元格类型为按钮,编辑命令为“JavaScript命令”,并输入JavaScript代码。

这里的代码为示例代码4,同时添加、删除、修改多行数据。

  编辑完成后,单击“确定”关闭对话框。

运行页面,在页面中单击编辑数据按钮后,就会 添加/修改/删除数据表中的数据:添加ID为5的王明和ID为6的赵蕾;删除ID为1的李雷和ID为2的韩梅梅;更新ID为3的姓名为小李,ID为4的姓名为小王,部门更新为管理部。


  • No labels