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

时间:2011-12-02 19:49:10

标签: grid slickgrid columnheader

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

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');
    }

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

1 个答案:

答案 0 :(得分:0)

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

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