【发布时间】:2013-03-25 14:34:50
【问题描述】:
我正在创建一个表单,它将显示基于 XML 数据的多个网格(4 个标准网格和 1 个子网格)。到目前为止,在我的所有测试中,一切正常。我已经能够使用 getRowData、getGridParam 等来遍历网格,但是,在调试时,我注意到对于每个网格,行 ID 只是从 1 开始的数字,似乎无法区分它们。这会产生任何冲突吗?如果没有,有人可以向我解释为什么吗?我只是希望在它上线后限制任何惊喜。提前致谢!
【问题讨论】:
我正在创建一个表单,它将显示基于 XML 数据的多个网格(4 个标准网格和 1 个子网格)。到目前为止,在我的所有测试中,一切正常。我已经能够使用 getRowData、getGridParam 等来遍历网格,但是,在调试时,我注意到对于每个网格,行 ID 只是从 1 开始的数字,似乎无法区分它们。这会产生任何冲突吗?如果没有,有人可以向我解释为什么吗?我只是希望在它上线后限制任何惊喜。提前致谢!
【问题讨论】:
你可以使用jqGrid的idPrefix选项来解决这个问题。例如,如果您有两个页面网格,您可以将idPrefix: "g1_" 用于第一个网格,将idPrefix: "g2_" 用于第二个网格。如果两个网格的 id 为 1、2、3,...在没有 idPrefix 选项的情况下使用,则带有idPrefix: "g1_" 的网格的 id 将是“g1_1”、“g1_2”、“g1_3”、...并且带有idPrefix: "g2_" 的网格的 id 将是 "g2_1"、"g2_2"、"g2_3", ... 这样您就不会再有 id 重复了。
如果您从服务器下载数据,选项idPrefix 特别实用。选项 idPrefix 仅更改 local id。例如,如果修改行,则前缀将从 id 值中删除,该值将发送到服务器。这样一来,您就可以使用数据库表中的本机 id 在服务器上工作。
【讨论】:
idPrefix。 jqGrid 3.6现在的用法几乎和用蜡烛代替电灯一样。 4年的网络开发真的很多。 14 年前推出 HTML 4.01,21 年前推出第一个 Web 浏览器 Mosaic。在当前世界中,您应该更频繁地更新到新版本。 :-)
我不知道您正在使用的网格,但我知道 id 应该是网站 DOM 结构内的唯一标识符。
如果网格使用该 ID 进行任何类型的操作,它可能会失败。如果没有,即使 HTML 无法验证,它也可能运行良好。
【讨论】:
id。我只使用 jqGrid 的时间很短,所以我还在学习它是如何工作的。
行 ID 应基于您从服务器返回的数据。请参阅此处的文档部分:
http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data
基本上,您有责任确保返回的 XML 使用唯一的 id 值。
【讨论】: