JQGRID-在网格上定义SetGroupHeader时列选择器太慢

JQGRID-在网格上定义SetGroupHeader时列选择器太慢,jqgrid,column-chooser,Jqgrid,Column Chooser,我的列选择器有问题,在选择要添加或删除的列后,显示结果非常慢。我注意到“setGroupHeaders”就是问题所在。列选择器和组标题的耦合似乎没有很好的性能 我在JqGrid 4.3.1上,使用最后一个jquery库。以前的版本也出现了这个问题(我必须更新所有库,以确保问题不是来自旧版本) 我真的在论坛上搜索过关于这个的帖子,但是我什么也找不到。我是唯一有这个问题的人吗?它被引用了吗 提前感谢您的帮助 我在大量列(>500列)上遇到了同样的问题,列选择器速度非常慢。因为我使用的是treegri

我的列选择器有问题,在选择要添加或删除的列后,显示结果非常慢。我注意到“setGroupHeaders”就是问题所在。列选择器和组标题的耦合似乎没有很好的性能

我在JqGrid 4.3.1上,使用最后一个jquery库。以前的版本也出现了这个问题(我必须更新所有库,以确保问题不是来自旧版本)

我真的在论坛上搜索过关于这个的帖子,但是我什么也找不到。我是唯一有这个问题的人吗?它被引用了吗


提前感谢您的帮助

我在大量列(>500列)上遇到了同样的问题,列选择器速度非常慢。因为我使用的是treegrid,所以我不能服用大多数增强性能的药物(我的意思是调整)。有时,仅应用和重新绘制网格就需要3分钟以上的时间

然而,我想出了一个肮脏残忍的方法来四处走动。对我来说,唯一的事情是我总是保留一份数据副本(json格式的本地json)。因此,任何重画都不会有网络流量。因此,我自己实现了一个列选择器,并进行了一次残酷的卸载和重新创建网格。现在,应用所选列并重新绘制最多需要10秒钟

这是我的列选择器的代码。正如你所看到的,这对我的程序来说是高度专业化的,但是你可以得到一个想法。fansy GUI来自,如果我编写了一些糟糕的代码,请原谅我

choose_column: function() {
  var me = this;
  var rn=this.response_json.colNames;
  var rm=this.response_json.colModel;
  var line_text;

  var html_text = '<select id="column_selector" class="multiselect" multiple="multiple" name="countries[]" style="width: 500px; margin: 0px auto; height: 340px; ">\n';

  for ( var i = 0 ; i < rn.length; i++ ) {
    if (rm[i].hidden) {
      line_text = '<option value="'+i+'">'+rn[i]+'</option>\n';
    } else {
      line_text = '<option value="'+i+'" selected="selected">'+rn[i]+'</option>\n';
    }
    html_text += line_text;
  }

  html_text += '</select>';

  jQuery("#dlg_choose_columns").empty()
  .append(html_text);
  jQuery(".multiselect").multiselect({
    sortable: true, 
    searchable: true,
    hide: 'explode',
    show: 'blind',
    dividerLocation: 0.5
  });
  jQuery("#dlg_choose_columns").dialog({
    width: 535,
    height: 550,
    modal: true,
    title: 'Select Columns',
    hide: 'explode',
    buttons: {
      "Ok": function() {
        var selected_values = jQuery(".multiselect").val();
        for ( var i = 0; i < rn.length; i++ ) {
          rm[i].hidden = true;
        }
        for ( var i = 0; i < selected_values.length; i++ ) {
          delete rm[selected_values[i]].hidden;
        }
        jQuery("#dlg_choose_columns").dialog("close"); 
        me.unload_jqgrid();
        me.create_grid(null, me.is_tree, me.need_plot);
      },
      "Cancel": function() {
        jQuery("#dlg_choose_columns").dialog("close"); 
      }
    }
  });

}
选择_列:函数(){
var me=这个;
var rn=this.response_json.colNames;
var rm=this.response_json.colModel;
变量行_文本;
var html_text='\n';
对于(变量i=0;i
我也遇到了同样的问题,希望能在这里找到解决方案,所以不,你不是唯一一个,但我没有找到解决方案的线索。