以编程方式更改slickgrid中的选定行

时间:2013-12-06 14:05:03

标签: selection slickgrid

使用slickgrid,我需要动态选择/取消选择行,这是我的代码,它似乎工作但听起来有点不理想,有没有什么方法可以做到这一点?

// turn records checkbox on or off depending on 'checked'

function set_checkbox (record, checked) {  
   var id = record[primary_key];
   var index = dataview.getIdxById(id);
   var selectedRows=this.slick_grid.getSelectedRows();
   if (checked) // add index in current list
      selectedRows=selectedRows.concat(index);
   else // remove index from current list
      selectedRows=selectedRows.filter(function(idx) {return idx!=index;});
   this.slick_grid.setSelectedRows(selectedRows);
}   

此处使用此选择模型初始化网格:

grid.setSelectionModel (new Slick.RowSelectionModel ({selectActiveRow: false}));

2 个答案:

答案 0 :(得分:3)

使用网格辅助方法setSelectedRows(rowsArray)

非常简单

完整描述如下:

https://github.com/mleibman/SlickGrid/wiki/Handling-selection

答案 1 :(得分:0)

如果行可见,则上一个答案是正确的。但是,编程选择通常意味着您拥有相同数据的不同视图,并且如果包含所选项的行被隐藏(由于过滤,组被折叠等),那么您真的需要深入挖掘并修补slickgrid以便能够选择Id的行数。希望这会有所帮助。

相关问题