2012-10-22 33 views
0

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

然而,问题是,我的父母行存储在数据库中有唯一的ID,这是不1 2 3 etc.它是由MySQL的自动生成的ID。

问题

我怎样才能改变parentGrid或子网格的行为,以便在次网格扩展,而不是自动生成1, 2, 3, etc.我得到的母行的实际ID,因为它是在数据库中。

+0

您应该发送数据中该行的实际ID,可以向我们展示您的数据样本吗? – tpeczek

回答

1

你写了关于“自动生成1,2,3等”的内容。它显示你填写网格的方式不正确。从服务器返回的数据应该包含用作id行(<tr>)的id,并且经常以rowid命名。只有当jqGrid在输入数据中找不到有关rowid的任何信息时,才会默认使用值1,2,3等。如果你有本地 IDS从数据库网格的行

这种行为不仅是坏的。更糟糕的是,如果页面上有多个网格或者如果您的网格具有子网格,则可能会收到重复的ID。

所以,你应该遵循两个规则:

  1. 收益,其中包括从数据库中本地ID时的ID存在的数据。
  2. 使用idPrefix如果您使用子网格或者如果您有更多作为一个网格在页面上。

我建议您阅读the answerthis oneAnother answer也可能对你很有趣。