我有一个正在运行的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。