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

use*_*959 3 checkbox slickgrid

我有一个带有插件Slick.CheckboxSelectColumn的网格.

没有Jquery,是否有可能隐藏某些行中的复选框?我想可以使用Formatter.

这是带有slickgrid复选框插件的var:

var checkboxSelector = new Slick.CheckboxSelectColumn({             
         cssClass: "slick-cell-checkboxsel"
     });
Run Code Online (Sandbox Code Playgroud)

列定义:

var columns = [
        { id: "Id", name: "Id", field: "Id", sortable: true, width: 40 },            
        { id: "Status", name: 'Status', field: "Status", sortable: true, width: 80 },
        checkboxSelector.getColumnDefinition()
     ];
Run Code Online (Sandbox Code Playgroud)

用于创建网格和注册插件的代码:

grid = new Slick.Grid("#grid", dataView, columns, options);
     grid.registerPlugin(new Slick.AutoTooltips({ enableForHeaderCells: true }));
     grid.registerPlugin(checkboxSelector)
Run Code Online (Sandbox Code Playgroud)

使用自定义插件checkboxselectcolumn.js,由@JamesSilberbauer创建

Ami*_*eri 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
     ];
Run Code Online (Sandbox Code Playgroud)