获取slickgrid中所选行的数据

时间:2011-10-30 10:12:37

标签: javascript slickgrid

我有一个slickgrid,其中一些行被过滤器(DataView)隐藏。

当我现在调用网格的getSelectedRows方法时,我得到明显选择的行的索引。但我需要所选行的实际数据。

5 个答案:

答案 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)