我如何调和来自网格的rowID与MYSQL数据库中的TRUE rowID



我有一个正在运行的JQgrid的当前版本,在该网格中搜索,选择一行并编辑它没有问题。

当我将它传递到上游时,PHP代码显示了post变量BUT

的值

返回的ROWid对应于我编辑的网格中所选元素的ROWid,而不对应于

返回原表中元素的rowID。

因此,我不确定如何基于该rowID更新/删除条目。

JQgrid如何'知道'要在'真实表'中更新哪一行或必须

autoincrements并将其传递回用作真实表中要更新的行的键?

不要认为我在这里需要邮政编码…:)

您的问题间接表明您以不完全正确的方式填充jqGrid。我看你不明白什么是"队列"。

jqGrid基于HTML表构建网格。表中的主要信息是数据行。HTML表中的行是<tr>元素,其中<td>元素作为单元格。在网格中填充数据时,将填充所有<tr>元素,包括id属性,如

<tr id="1410"><td>cell for the first column<td><td>cell for the second column<td></tr>

重要的是要理解jqGrid的当前实现必须为每一行具有id属性。从服务器发回的JSON或XML数据必须包含id信息(如果jqGrid输入数据,请参阅有关不同支持格式的文档)。

因此,如果您填充JSON或XML数据的id属性作为数据库中的id,那么您所描述的问题将永远不会存在。如果您不填写id属性或以错误的方式填写,则存在问题。在这两种情况下,jqGrid都找不到任何关于id的信息,在这种情况下,它必须自己生成<tr>元素的id。目前jqGrid使用的是序号1,2,3,…,但它可以在任何新版本的jqGrid中更改。

所以我建议您在填写jqGrid时验证您发回的数据格式。如果您在查找错误时遇到问题,则应该在问题的文本中包含jqGrid的完整定义,并附加服务器响应(JSON或XML数据)。要捕获准确的服务器响应,您可以使用Fiddler或Firebug。

相关内容

  • 没有找到相关文章