【问题标题】:w2ui Grid with composite key database table具有复合键数据库表的 w2ui Grid
【发布时间】:2015-10-27 21:36:42
【问题描述】:

我正在使用一个很棒的 JavaScript UI 库:w2ui。我正在学习 widget Grid 的工作原理。

Grid 的每一行都使用唯一的整数 ID (recid) 进行标识。如果你的数据库有一个整数作为主键,这是完美的,你可以像 recid 一样使用这个键。但是我的数据库表有一个复合主键,4 列 的组合。

首先我想到了一个解决方案:使用哈希函数使用 4 列值生成一个整数值:

hash(idA, idB, idC, idD) = recid

服务器返回的 JSON 示例:

records: [
   {
      "recid": 565587,
      "key": {
         "idA": "01",
         "idB": "01",
         "idC": "1981",
         "idD": "111"
      },
      "value": 1000
   }
]

recid在服务器端计算,在客户端用于识别网格记录。

但这仍然不是解决方案,因为当我更改网格的单元格值时(我正在使用inline editing),小部件只会将更改后的值和recid发送到服务器em>,但 不是 复合键。所以我无法识别数据库表行来进行更新。

有人有解决办法吗?

可能是强制将密钥对象发送到服务器的配置?

【问题讨论】:

  • 您能否修改服务器代码 API 以适应 recid 处理的变化?

标签: mysql datagrid w2ui


【解决方案1】:

来自documentation

保存将提交更改的记录。但是,您可以覆盖 onSave 事件并提交您想要的任何内容。您可以(1)添加它 到 grid.postData 对象或(2)自己提交 $.ajax()

看起来你必须覆盖默认行为才能做你想做的事。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-26
    • 2012-09-04
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2012-07-03
    相关资源
    最近更新 更多