带有CheckboxSelectColumn的Slickgrid:隐藏某些行中的复选框

时间:2014-04-07 14:44:33

标签: checkbox slickgrid

我有一个带有插件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创建

1 个答案:

答案 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
     ];