光滑网格中的组级别复选框

时间:2017-04-19 10:40:33

标签: javascript jquery slickgrid

我在使用Slick网格的复选框选择器插件时遇到了问题。

在为光滑网格使用分组插件后,插件不提供任何添加组级别复选框的方法。我在groupItemMetadataProvider选项中使用formatter函数添加了复选框,如下所示:

dataView.setGrouping({
   getter: "duration",
   formatter: function (g) {
    var checkedState="";
    if(g.hasOwnProperty("checked")){
        g["checked"] ? checkedState="checked" : checkedState=""; 
    }
     return "<input type=\"checkbox\" class="groupCheck" data-id=\""+g.value+"\" "+checkedState+"> Duration:  " + g.value + "  <span style='color:green'>(" + g.count + " items)</span>";
   } });

上面的代码显示了一个复选框。

我绑定更改事件并循环遍历数据视图以检查与segmentationBy ID具有相同持续时间的行,以及它是否匹配保存传递索引到复选框选择器插件中的toggleRowSelection函数。

工作正常。显示所有已检查的子项但标题复选框未保存其状态。滚动复选框后丢失其已选中&#39;状态

需要帮助解决这个问题。试图将其状态保存在&#34; isChecekd&#34;标志在上面的片段。

1 个答案:

答案 0 :(得分:0)

你看过这个例子吗?这是向包含滚动状态保留状态的组添加复选框的官方方式。

http://6pac.github.io/SlickGrid/examples/example-grouping-checkbox-row-select.html

确保您拥有以下三行代码,以使其在您的网络应用中运行:

var checkboxSelector = new Slick.CheckboxSelectColumn({cssClass: "slick-cell-checkboxsel"});
var groupItemMetadataProvider = new Slick.Data.GroupItemMetadataProvider({ checkboxSelect: true, checkboxSelectPlugin: checkboxSelector });
dataView.syncGridSelection(grid, true, true);

slickGrid的原始开发人员在开发中不是非常活跃,因此请确保您使用的是最新版本: SlickGrid