使用 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}));

最佳答案

使用网格助手方法 setSelectedRows(rowsArray) 非常简单

完整说明在这里:

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

10-05 19:57