带列标题的JqGrid列选择器

时间:2012-06-07 10:47:17

标签: jqgrid multi-select name-conflict column-chooser

我有两个关于列选择器的问题。第一,我正在为网格使用标题分组,例如我有一个显示标题组,其中包含两列Type和Size,还有另一个标题Group,其名称为Storage,包含两个Type和size子列。当我使用columnChooser时,它显示:Type Size Type Size。有没有办法将列标题名称添加到它们?我还在colModel中将这些列命名为DS_Size DS_Type,....有没有办法使用这些列colModel名称而不是colNames? 我的第二个问题是我已经使用erichynds multiselect(参见link)作为我的搜索部分,它与jqGrid使用的那个有冲突(见also)。如何将erichynds multiselect插件重命名为其他内容?我没有找到任何$ .fn。在它的源代码

我实际上问了三个问题:P但前两个是一个:D

感谢您阅读我的问题:)

1 个答案:

答案 0 :(得分:1)

您将在jqGrid的the documentation找到主要问题的答案:

  

列选择器与标题分组不兼容

我写了Header Grouping实现的很多部分,我知道columnChooser的代码。所以我知道如何修改columnChooser的代码以包含对标头分组的支持。主要问题是仅仅为了消除限制而做的工作相对较多。 jqGrid是免费的开源产品。谁愿意花时间去消除这些限制?我花了很多时间在stackoverflow上帮助其他人,但我必须养活我的家人:-)。如果您真的需要这样的功能,您可以自己实现该功能。修改columnCooser所需的最重要信息,您将在the answer中找到。

现在谈谈你问题的最后一部分:多选小工具之间的“冲突”。简单查看Eric Hynds的变化列表jQuery UI MultiSelect Widget(参见here)表明插件是活的。另一方面,columnChooser中使用的another one(请参阅here)将不会更改。然而它可以工作,可以在以后使用。你究竟有哪些“冲突”?在旧版本的Eric Hynds jQuery UI MultiSelect Widget中,它使用了相同的小部件名称"ui.multiselect",这是冲突的。许多更高版本使用"ech.multiselect"名称(请参阅here)。所以我不知道你究竟是哪种冲突。你应该得到代码的最后一个版本。

在我的回答结束时,我建议您阅读the answer,其中我建议对columnChooser进行一些修改,以便提高可见性并使列选择器的对话框真正可调整大小。只需使用$.jgrid.extend({columnChooser : function(opts) {...}});即可将columnChooser的原始版本覆盖为新版本。