Kendo ui 剑道UI Web网格、虚拟滚动和动态复选框

Kendo ui 剑道UI Web网格、虚拟滚动和动态复选框,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我正在使用KendoUIWebGrid来显示一些数据。 因为我要处理大量数据,所以我决定使用网格虚拟滚动功能,它非常有效 现在,我需要添加一个非数据绑定列,该列将填充一个复选框,以便我可以选中/取消选中网格中的记录以进行进一步处理 我可以通过使用模板添加复选框列: columns: [ { field: "", width:'3%', title: " ",

我正在使用KendoUIWebGrid来显示一些数据。 因为我要处理大量数据,所以我决定使用网格虚拟滚动功能,它非常有效

现在,我需要添加一个非数据绑定列,该列将填充一个复选框,以便我可以选中/取消选中网格中的记录以进行进一步处理

我可以通过使用模板添加复选框列:

columns: [
            {
                field: "",
                width:'3%',
                title: " ",
                hidden: false,
                template: "<input type=\"checkbox\" />"
            },
列:[
{
字段:“”,
宽度:'3%',
标题:“,
隐藏:假,
模板:“”
},
我遇到的问题是,当启用虚拟滚动时,如果我选中其中一个复选框,然后滚动网格,当我返回到选中的记录时,它不再被选中

如何使用虚拟滚动并保持复选框处于选中状态


谢谢

当您传递与页面大小相同数量的记录时,总是会重新创建行。但是,如果您真的将该复选框绑定到基础模型,更改将被保留,并且一旦您回到同一页面,您将看到选中的项

使复选框反映模型更改的一种方法如下:

grid.tbody.on('click',':checkbox',function(e){
  var row = $(this).closest('tr');
  grid.dataItem(row).set('isAdmin',$(this).is(':checked'));

})
其中isAdmin是复选框绑定到的字段的名称

这是一个活生生的例子