代码1:
var checkboxSelector = new Slick.CheckboxSelectColumn({
cssClass: "slick-cell-checkboxsel"
});
tempColumns.push(checkboxSelector.getColumnDefinition());
代码2:
tempGrid.setSelectionModel(new Slick.RowSelectionModel({selectActiveRow:false}));
tempGrid.registerPlugin(checkboxSelector);
我使用上面的代码显示复选框列。
如何仅从slickgrid的标题行隐藏复选框? (在图像中的红色圆圈下)
感谢。
答案 0 :(得分:8)
grid.onHeaderRowCellRendered.subscribe(function (e, args) {
if (args.column.id === '_checkbox_selector') {
// do something if you want
} else {
$(args.node).empty();
$('<input type="text">')
.data('columnId', args.column.id)
.val(columnFilters[args.column.id])
.appendTo(args.node);
}
});
答案 1 :(得分:3)
我能够做到这一点,但我的解决方案是在slick.checkboxselectcolumn.js
文件中注释掉几行。据我所知,handleSelectedRowsChanged()
实际上会在每次更改时使用新的<input>
元素重写复选框单元格标题的内容 - 它不仅会更改checked属性。所以我已经注释掉了该函数中用于交换的行,以及其他一些在init和事件中添加复选框的行(de)选择所有行。
https://gist.github.com/1085623
可能有更好的方法来解决这个问题,但我需要尽快得到一些东西。
答案 2 :(得分:1)
您可以使用jQuery删除复选框。
$('.slick-header-columns input[type="checkbox"]').remove();
但是,标题行上的复选框允许您执行“全部检查”。你确定要删除吗?