0

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

当我在上游传递这个 PHP 代码显示 POSTed 变量的值但是

回发的 ROWid 对应于我编辑的网格中所选 ELEMENT 的 ROWid,而不是

返回原始表中元素的 TRUE 行 ID。

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

JQgrid 如何“知道”在“真实表”中更新哪一行,或者我必须简单地添加一个新列

自动增量并将其传递回以用作真实表中要更新的行的键?

不要认为我需要这里的邮政编码...... :)

4

1 回答 1

0

您的问题间接表明您以不太正确的方式填充 jqGrid。一看到你不明白什么是“rowid”。

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 输入数据,请参阅有关不同支持格式的文档)。

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

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

于 2011-11-04T22:39:21.963 回答