我有一个带有插件Slick.CheckboxSelectColumn的网格。
在没有Jquery的情况下,是否可以在某些行中隐藏复选框? 我想可以使用Formatter。
这是带有slickgrid复选框插件的var:
var checkboxSelector = new Slick.CheckboxSelectColumn({
cssClass: "slick-cell-checkboxsel"
});
列定义:
var columns = [
{ id: "Id", name: "Id", field: "Id", sortable: true, width: 40 },
{ id: "Status", name: 'Status', field: "Status", sortable: true, width: 80 },
checkboxSelector.getColumnDefinition()
];
创建网格和注册插件的代码:
grid = new Slick.Grid("#grid", dataView, columns, options);
grid.registerPlugin(new Slick.AutoTooltips({ enableForHeaderCells: true }));
grid.registerPlugin(checkboxSelector)
使用自定义插件checkboxselectcolumn.js,由@JamesSilberbauer创建
答案 0 :(得分:5)
您可以使用格式化程序执行此操作。 在将列定义添加到列列表之前,需要更改格式化程序。 这是如何:
var selectorColumnDef = checkboxSelecter.getColumnDefinition();
var currentFormatter = selectorColumnDef.formatter;
selectorColumnDef.formatter = function(row, cell, value, columnDef, dataContext) {
if (showCheckBox) {
return currentFormatter(row, cell, value, columnDef, dataContext);
}
return "";
};
var columns = [
{ id: "Id", name: "Id", field: "Id", sortable: true, width: 40 },
{ id: "Status", name: 'Status', field: "Status", sortable: true, width: 80 },
selectorColumnDef
];