首页 > 解决方案 > Slickgrid 多个复选框列

问题描述

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

我在 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);

如何创建可以选择该列中所有行的列(带有列标题)?

谢谢。

标签: slickgrid

解决方案


看起来没有办法使用预构建的复选框选择器来做你想做的事。它没有为标题和标题复选框设置。但它应该很容易修改它来做你想做的事。
或者您可以尝试将您的列定义与其生成的列定义相结合:

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() 调用转储到对象中:

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

要摆脱错误,您需要成功

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

但是您从中获取的列 defcheckboxSelector只是该列的另一个属性,这不是您想要的。


推荐阅读