重新排序SlickGrid列将重置列标题HTML

重新排序SlickGrid列将重置列标题HTML,grid,slickgrid,columnheader,Grid,Slickgrid,Columnheader,我有一个数据网格,在初始化网格后,我们在每个列的标题中添加了一个过滤器图标,如下所示: function selectHeaderIcon(searchActive){ if (searchActive) { return "ui-icon-zoomin"; } else { return "ui-icon-search"; } } function updateColumnHeader(s

我有一个数据网格,在初始化网格后,我们在每个列的标题中添加了一个过滤器图标,如下所示:

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 debugger中做了一些进一步的测试,手动添加文本来更改列名,并向html添加一个随机的新范围。对列重新排序后,两个更改都消失了。SlickGrid是否在某处存储了我的列标题的不同副本,而不是使用显示的内容进行重新排序?若然,原因为何?如何解决此问题?

听起来您需要订阅onColumnsReordered事件,如下所示:

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