2011-12-02 63 views
0

我有数据的网格,其中,我们初始化栅格像这样后添加的过滤器图标到每个列的标题:重新排序SlickGrid列重置列标题HTML

function selectHeaderIcon(searchActive){ 
     if (searchActive) { 
      return "ui-icon-zoomin"; 
     } else { 
      return "ui-icon-search"; 
     } 
    } 

function updateColumnHeader(searchActive){ 
     self.grid.updateColumnHeader(column.id, name + '<span class="ui-icon '+selectHeaderIcon(searchActive)+' slick-resizable-handle searchLink ' + columnCss + '" ></span>', 'Search'); 
    } 

我还启用列的重排对网格。但是,每当我重新排列列时,我的搜索图标就消失了!我在chrome调试器中进行了一些进一步的测试,方法是手动添加文本以更改列名以及向html添加随机新跨度。重新排序列后,两个更改都消失了。 SlickGrid是否在某处存储了我的列标题的不同副本,而不是使用显示的内容来执行重新排序?如果是这样,为什么?我如何解决这个问题?

回答

0

这听起来像你需要订阅onColumnsReordered事件,类似如下:

GridName.onColumnsReordered.subscribe(function(e, args) { 
    updateColumnHeader(searchActive); 
});