0

当我尝试展开一行父表以显示子网格时,正在传递的 ID 是由 javascript 生成的。因此,父表的第一行的 rowid 为 1,第二行的 rowid 为 2。因此,当我单击展开每个子网格时,调用的 URL 是myurl.html?q=1and myurl.html?q=2。我正在使用q=?查询的一部分来获取子网格的行。

但是,问题是我的父行以唯一的 id 存储在数据库中,这不是1 2 3 etc.Mysql 自动生成的 id。

问题

如何更改 parentGrid 或 subGrid 的行为,以便在展开子网格时,而不是自动生成,1, 2, 3, etc.我得到父行的实际 ID,因为它在数据库中。

4

1 回答 1

1

您写了有关“自动生成的 1、2、3 等”的文章。它表明您以不正确的方式填充网格。从服务器返回的数据应该包含id用作id行 ( <tr>) 并经常命名为 rowid。只有当 jqGrid 在输入数据中没有找到任何有关 rowid 的信息时,才会默认使用值 1、2、3 等。

如果您有来自数据库的本机ID 和网格行,那么这种行为不仅是不好的。更糟糕的是,如果页面上有多个作为一个网格,或者如果您有带有子网格的网格,您可能会收到 id 重复。

所以你应该遵循两条规则:

  1. 当 id 存在时,从数据库返回包含本机 id 的数据。
  2. idPrefix如果您使用子网格或者页面上有多个网格,请使用。

我建议您阅读答案这个另一个答案对您来说也可能很有趣。

于 2012-10-22T11:47:46.767 回答