3

我有一个 slickGrid 填充了数据,并通过以下方式添加了第一个复选框列:

if (info.includeSelectCheckbox) {
    var checkboxSelector = new Slick.CheckboxSelectColumn({
        cssClass:"slick-cell-checkboxsel"
    });

    info.columns.splice(0, 0, checkboxSelector.getColumnDefinition()); 
}

grid = new Slick.Grid(elem, dataView, info.columns, options);

if (info.includeSelectCheckbox) {
    grid.setSelectionModel(new Slick.RowSelectionModel({selectActiveRow:false}));
    grid.registerPlugin(checkboxSelector);
    var columnpicker = new Slick.Controls.ColumnPicker(info.columns, grid, options);
}

我还有一个过滤器文本框,它按不同的标准过滤网格中的数据。

问题是,当我为网格中的某些项目选择复选框然后过滤网格时,选中的复选框要么保留在旧索引上,但匹配不同的记录,要么从网格中消失并且不会在我重新出现删除过滤。

我希望复选框选择独立于过滤,所以每当我使用过滤器时,选定的项目都会保持选中状态,直到我手动取消选中它们。

我还尝试通过常规列格式化程序添加复选框,但是当我开始过滤时选择消失了。

4

1 回答 1

3

你需要打电话dataView.syncGridSelection(grid)

请参阅https://github.com/mleibman/SlickGrid/wiki/DataView#synchronizing-selection--cell-css-styles

于 2013-05-03T22:38:21.870 回答