2011-03-22 46 views
0

我有一个jqGrid的正确和gridComplete当桌子负载,它适用于一些点击功能,在每一行某些表格单元格一些图标显示在表中的数据。当表最初加载时,所有函数都能正常工作,但是当我单击列标题并按asc或desc顺序对列进行排序时,该表对行进行排序,然后单击函数不再起作用。有没有人遇到过这个问题使用jqGrid之前?我使用表格分页,当我进入下一页时,点击函数再次工作,直到我对列进行排序。任何帮助将不胜感激。jqGrid的列进行排序问题

*我忘了在此之前,更何况我也有被倒塌每行一个子网格和被点击的行开始的箭头图标将扩大。

+0

根据排序,以及之后的gridComplete事件应该火的文档,所以看起来我们需要看到的代码来诊断问题。 – Zikes 2011-03-22 17:01:11

+0

Zikes,如果你有你的数据类型设置为JSON或XML的gridComplete功能将再次运行,但我手动设置我的数据类型为本地,我只是整理了当前数据集,而不是做一个新的服务器呼叫和排序服务器端。当我与寻呼机交互时,我只将数据类型更改为json。 – usherjer 2011-03-22 17:10:30

+0

据当时http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events文档它说,这将触发独立的数据类型参数和排序和分页后。请发布您的代码(或相关子集),以便我们可以帮助您找出问题所在。 – Zikes 2011-03-22 17:16:17

回答

0

想通了。当我创建表格时,我添加了一个隐藏在主表格div元素底部的小div元素,该元素保存所有数据。小格子上下滑动,里面有设置选项。当对表格排序时,jqgrid似乎对表格进行排序并将其放置在主表格的div内。由于它可能没有指定将排序后的数据放回到哪个div,因此将它放入两个div元素中。当我对数据进行排序并查看较小的div时,排序重新创建了小div中的表格。所以,我结束了两张桌子,我的原创和新的小分区内。这搞砸了我的Java脚本,因为引用都在这一点上。所以,我的解决方案是在排序时删除小div,然后在排序完成时重新创建小div,以便排序功能不会混淆。另外,Zikes,gridComplete函数不会为我运行。我在gridComplete函数中添加了一条警告语句,它显示了表最初加载表时的情况,但是当您对从未显示的列进行排序时。我在该函数的开头部署了警报,所以我知道它没有运行。您正在查看的文档不正确,或者我有某种设置禁用gridComplete函数在sort上运行。感谢您的意见。