我有一个slickgrid,其中一些行被过滤器(DataView)隐藏。
当我现在调用网格的getSelectedRows方法时,我得到明显选择的行的索引。但我需要所选行的实际数据。
答案 0 :(得分:19)
你必须这样做:
var selectedData = [],
selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_grid.getData()[value]);
});
现在 selectedData 变量包含所选行的数据。
答案 1 :(得分:3)
你有一个错误。它必须是“getDataItem”而不是“getData”。
var selectedData = [],enter code here`selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_grid.getDataItem(value));
});
答案 2 :(得分:1)
你也可以在.each循环中使用这一行来从dataView中提取数据,而不是使用来自网格对象的getData(),因为这似乎是不一致的,具体取决于fork:
var selectedData = [],
selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_dataView.getItemById(value));
});
答案 3 :(得分:1)
hObjMarcado = ( grid.getSelectedRows());
for( var a_id in hObjMarcado ) {
vres.push( dataview.getItem( hObjMarcado[a_id] ));
//la opcion getItem obtiene el elemento especifico,
//aun con filtro.
}
return vres;
答案 4 :(得分:0)
如果您从其他控件访问网格,如。点击按钮
var selectRow = gridInstance.getSelectedRows();
alert(gridInstance.getDataItem(selectRow).columnName)