我正在使用jqGrid columnChooser,如下所示:
jQuery(grid).jqGrid(
'navButtonAdd',
pagerDiv,
{
caption: "Columns",
buttonicon: "ui-icon-newwin",
title: "Hide/Show Columns",
onClickButton: function () {
$(this).jqGrid('columnChooser', {
done: function (perm) {
if (perm) {
$(this).jqGrid('remapColumns', perm, true);
}
},
modal: true,
width: 400,
height: 300,
classname: 'column-chooser-select'
});
}
}
);
并且想知道是否有一种方法可以在 columnChooser 上指定一个事件处理程序(使用带有 jqGrid 的jQuery UI Multiselect 插件),该处理程序在添加或删除列时触发。所以我想这是一个两部分的问题:
- jQuery UI Multiselect 是否支持这样的事情?
- 如果是这样,有没有办法在不改变 jqGrid 源的情况下连接它?
关于我想要实现的一些背景:
我的默认网格配置隐藏了许多列。其中一些列不是从数据库中填充的——它们是晦涩的、很少使用的数据元素,如果填充这些元素会显着降低查询执行性能(涉及具有 1 亿多条记录的表的多个连接)。
如果用户选择其中一个列进行显示,我想警告他们需要再次往返服务器,这可能需要一段时间 - 并让他们选择取消列添加。
谢谢