Jqgrid 在不同事件中使用remapColumns时,排序图标不会';单击标题时不显示
我将列排列信息保存到一个表中。此信息可以在beforeRequest事件中重新加载:Jqgrid 在不同事件中使用remapColumns时,排序图标不会';单击标题时不显示,jqgrid,Jqgrid,我将列排列信息保存到一个表中。此信息可以在beforeRequest事件中重新加载: mynewperm = {....}; myGrid.jqGrid("remapColumns", mynewperm, true); 列被正确地重新排序。但是我丢失了标题图标。现在,如果我单击任何列标题,我都看不到 不再使用排序图标,则无法对任何列进行排序。我怎样才能取回它 谢谢, yh我也有同样的问题: 因为我在“loadComplete”事件中应用了“remapColumns”方法(我从cookie中
mynewperm = {....};
myGrid.jqGrid("remapColumns", mynewperm, true);
列被正确地重新排序。但是我丢失了标题图标。现在,如果我单击任何列标题,我都看不到
不再使用排序图标,则无法对任何列进行排序。我怎样才能取回它
谢谢,
yh我也有同样的问题:
因为我在“loadComplete”事件中应用了“remapColumns”方法(我从cookie中获取用户列配置),所以它附加到我身上
因此,当我尝试对列进行排序时,什么也没有发生。我在firebug中发现了以下错误:
a、 grid.headers[a.p.lastsort]未定义->jquery.jqGrid.min.js(第93行)
也许找到问题所在会有帮助
谢谢我也有同样的问题:
因为我在“loadComplete”事件中应用了“remapColumns”方法(我从cookie中获取用户列配置),所以它附加到我身上
因此,当我尝试对列进行排序时,什么也没有发生。我在firebug中发现了以下错误:
a、 grid.headers[a.p.lastsort]未定义->jquery.jqGrid.min.js(第93行)
也许找到问题所在会有帮助
谢谢如果您能够更改代码,您可以测试a.grid.headers[a.p.lastsort]的未定义值 在源文件中,它可能如下所示:
// old
var previousSelectedTh = ts.grid.headers[ts.p.lastsort].el
// new:
var previousSelectedTh = ts.grid.headers[ts.p.lastsort] ? ts.grid.headers[ts.p.lastsort].el : null
如果您能够更改代码,则可以测试a.grid.headers[a.p.lastsort]的未定义值 在源文件中,它可能如下所示:
// old
var previousSelectedTh = ts.grid.headers[ts.p.lastsort].el
// new:
var previousSelectedTh = ts.grid.headers[ts.p.lastsort] ? ts.grid.headers[ts.p.lastsort].el : null
事实上,如果您查看
jquery.jqGrid.src.js
源代码,这行代码是:
var previousSelectedTh = ts.grid.headers[ts.p.lastsort].el, newSelectedTh = ts.grid.headers[idxcol].el;
第#1982行在我的版本中。我通过修改文件修复了它,并在该行之前添加了以下内容:
if (ts.p.lastsort < 0) // johnl.
ts.p.lastsort = 0;
if(ts.p.lastsort<0)//johnl。
ts.p.lastsort=0;
问题是
ts.p.lastsort
was-1。事实上,如果您查看jquery.jqGrid.src.js
源代码,行是:
var previousSelectedTh = ts.grid.headers[ts.p.lastsort].el, newSelectedTh = ts.grid.headers[idxcol].el;
第#1982行在我的版本中。我通过修改文件修复了它,并在该行之前添加了以下内容:
if (ts.p.lastsort < 0) // johnl.
ts.p.lastsort = 0;
if(ts.p.lastsort<0)//johnl。
ts.p.lastsort=0;
问题是
ts.p.lastsort
was-1。我自己刚刚设法解决了这个问题,但没有使用上述方法。我在尝试对jqgrid中的列进行排序时收到以下错误消息:
TypeError: a.grid.headers[a.p.lastsort] is undefined js/jqgrid/jquery.jqGrid.min.js?1.4:86
我应该注意到是Firebug产生了这个错误消息。我们公司为Chrome开发web应用程序,但Chrome的Javascript控制台产生了一条非常缺乏信息的错误消息:
Uncaught TypeError: Cannot read property 'el' of undefined
在除去引起问题的页面上除jqGrid声明之外的所有声明后,发现删除jqGrid的“multiSelect”选项声明解决了问题。显然,声明此选项会导致在呈现的网格中添加一个额外的隐藏列,使用户可以一次选择多个网格行。我不太清楚这为什么会引起问题,但在咨询编程主管之后,我们最好的猜测是jqGrid库代码中的某个地方有一个for循环,当应用列排序时会调用该循环,而该循环没有考虑这个额外的列,这导致它没有被定义
奇怪的问题的奇怪答案,但希望这将有助于某人在未来,并节省他们约3小时的调试 我自己刚刚设法解决了这个问题,但没有使用上述方法。我在尝试对jqgrid中的列进行排序时收到以下错误消息:
TypeError: a.grid.headers[a.p.lastsort] is undefined js/jqgrid/jquery.jqGrid.min.js?1.4:86
我应该注意到是Firebug产生了这个错误消息。我们公司为Chrome开发web应用程序,但Chrome的Javascript控制台产生了一条非常缺乏信息的错误消息:
Uncaught TypeError: Cannot read property 'el' of undefined
在除去引起问题的页面上除jqGrid声明之外的所有声明后,发现删除jqGrid的“multiSelect”选项声明解决了问题。显然,声明此选项会导致在呈现的网格中添加一个额外的隐藏列,使用户可以一次选择多个网格行。我不太清楚这为什么会引起问题,但在咨询编程主管之后,我们最好的猜测是jqGrid库代码中的某个地方有一个for循环,当应用列排序时会调用该循环,而该循环没有考虑这个额外的列,这导致它没有被定义
奇怪的问题的奇怪答案,但希望这将有助于某人在未来,并节省他们约3小时的调试 您是否尝试过将
updateCells
设置为false-myGrid.jqGrid(“remapColumns”,mynewperm,false)代码>?否则,如果您可以发布一个更大的代码示例,甚至是一个JSFIDLE,可能会有所帮助。代码位于:beforeRequest:function(){………..perm=processPermStr(permst);if(perm){myGrid.jqGrid(“remapColumns”,perm,true);}您是否尝试过将updateCells
设置为false-myGrid.jqGrid(“remapColumns”,mynewperm,false);
?否则,如果您可以发布一个更大的代码示例,甚至是一个jsfiddle,可能会有所帮助。只是尝试了一下,不起作用。代码位于:beforeRequest:function()中{………..perm=processPermStr(permst);if(perm){myGrid.jqGrid(“remapColumns”,perm,true);}