使用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}));
答案 0 :(得分:3)
使用网格辅助方法setSelectedRows(rowsArray)
非常简单完整描述如下:
https://github.com/mleibman/SlickGrid/wiki/Handling-selection
答案 1 :(得分:0)
如果行可见,则上一个答案是正确的。但是,编程选择通常意味着您拥有相同数据的不同视图,并且如果包含所选项的行被隐藏(由于过滤,组被折叠等),那么您真的需要深入挖掘并修补slickgrid以便能够选择Id的行数。希望这会有所帮助。