2011-12-02 55 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); 
});