当我尝试展开一行父表以显示子网格时,正在传递的ID由javascript生成。因此,父表的第一行获取的rowid为1,第二行的rowid为2.因此,当我单击以展开每个子网格的子网格时,被调用的URL为myurl.html?q=1
和myurl.html?q=2
。我正在使用查询的q=?
部分来获取子网格的行。
然而,问题是我的父行存储在具有唯一id的数据库中,而不是1 2 3 etc.
它是Mysql自动生成的id。
问题
如何更改parentGrid或subGrid的行为,以便在展开subgrid时,而不是自动生成1, 2, 3, etc.
,我将获得父行的实际ID,因为它在DB中。
答案 0 :(得分:1)
您写过“自动生成1,2,3等”。它表明您以不正确的方式填充网格。从服务器返回的数据应包含id
,用作行id
的{{1}}并经常命名为rowid。只有当jqGrid在输入数据中没有找到有关rowid的任何信息时,默认情况下才会使用值1,2,3等。
如果您从数据库中获取网格行的 native ID,则此类行为不仅很糟糕。更糟糕的是,如果您在页面上有更多的网格,或者如果您有带子网格的网格,则可以接收id重复项。
所以你应该遵循两条规则:
<tr>
。我建议您阅读the answer和this one。 Another answer对你来说也很有趣。