2013-05-07 103 views
0

我正在使用kendo UI Web网格来显示一些数据。 由于我正在处理大量数据,因此我决定使用网格虚拟滚动功能,这非常棒。Kendo UI Web网格,虚拟滚动和动态复选框

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

我凸轮能够通过简单地使用模板来添加复选框列:

columns: [ 
      { 
       field: "", 
       width:'3%', 
       title: " ", 
       hidden: false, 
       template: "<input type=\"checkbox\" />" 
      }, 

是我遇到的问题是,启用时虚拟滚动,如果我选中一个复选框,然后滚动网格,当我回到被检查的记录时,它不再被检查。

如何使用虚拟滚动并保持我的复选框被选中?

感谢

回答

2

中的行,当你通过尽可能多的记录,为您的pageSize是始终重新创建。但是,如果您确实将该复选框绑定到底层模型,则更改将会持续存在,并且一旦您返回到同一页面,您将看到已选中的项目。使复选框反映更改模型

一种方法是这样的:

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

}) 

哪里isAdmin是复选框是被绑定到字段的名称。

Here是现场示例。