Slickgrid 多复选框列

Slickgrid multiple checkbox columns

我希望在我的 slickgrid 中有多个复选框列,以及列的标题,当 selecting 该列时,select 该列中的所有项目。

我在 slickgrid 示例中看到它似乎只用在没有标题的一列中。

我正在使用 VS 2019,在尝试构建一个列并将其放入复选框列时,我显示错误下划线(预期)

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

          var columns = [

              { id: "JobCards", name: "Job Card", field: "JobCards", checkboxSelector.getColumnDefinition(), maxWidth: 35, formatter: Slick.Formatters.Checkmark, editor: Slick.Editors.Checkbox },

              { id: "Enabled", name: "Enabled", field: "Enabled", checkboxSelector.getColumnDefinition(), maxWidth: 35, formatter: Slick.Formatters.Checkmark, editor: Slick.Editors.Checkbox }

          ];

  var mygrid = new Slick.Grid("#GridAppUserList", AppUserRows, columns, sboptions);

  mygrid.registerPlugin(checkboxSelector);

如何创建一个列(带有列标题),我可以 select 该列中的所有行?

谢谢。

似乎没有办法用 pre-built 复选框选择器做你想做的事。它不是为标题和 header 复选框设置的。但是应该很容易修改它来做你想做的事。
或者您可以尝试将您的列定义与其生成的列定义结合起来:

var checkboxSelector1 = new Slick.CheckboxSelectColumn({
  columnId: "JobCards",
  cssClass: "slick-cell-checkboxsel"
});

var col1 = checkboxSelector1.getColumnDefinition();
col1.name = "Job Card " + col1.name; 
col1.field = "JobCards";
col1.maxWidth = 35;
col1.formatter = Slick.Formatters.Checkmark;
col1.editor = Slick.Editors.Checkbox;

columns.push(col1);

// and same for column 2 ....

请注意,上面的错误是因为您只是将 getColumnDefinition() 调用转储到 object:

, field: "JobCards", checkboxSelector.getColumnDefinition(), 

要消除错误,您需要做到这一点

, field: "JobCards", someOtherName: checkboxSelector.getColumnDefinition(), 

但是您从 checkboxSelector 获得的列 def 将只是该列的另一个 属性,这不是您想要的。