我有一個slickgrid,其中一些行被過濾器(DataView)隱藏。獲取slickgrid中選定行的數據
當我現在調用網格的getSelectedRows方法時,我得到了可見的選定行的索引。但我需要所選行的實際數據。
我有一個slickgrid,其中一些行被過濾器(DataView)隱藏。獲取slickgrid中選定行的數據
當我現在調用網格的getSelectedRows方法時,我得到了可見的選定行的索引。但我需要所選行的實際數據。
你必須做這樣的事情:
var selectedData = [],
selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_grid.getData()[value]);
});
眼下selectedData變量包含選定的行數據。
您也可以使用這條線的。每個循環從數據視圖,而不是從網格對象使用的getData()提取數據,因爲這似乎取決於叉是不一致的:
var selectedData = [],
selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_dataView.getItemById(value));
});
你有一個錯誤。它需要是「getDataItem」而不是「getData」。
var selectedData = [],enter code here`selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_grid.getDataItem(value));
});
解決方案@matma提供的工作正常,如果你不使用DataView。這不是一個真正的錯誤。你的解決方案可能會更好,但它會一直工作。 – idbehold
如果您從其他控件像訪問網格。點擊按鈕
var selectRow = gridInstance.getSelectedRows();
alert(gridInstance.getDataItem(selectRow).columnName)
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;
請嘗試用英文書寫 – Leeor
唉唉,grid.getData,這是我一直在尋找的方法。但grid.getData [值]沒有工作我不得不使用grid.getData()。getItem(值)。 – Preli
我的歉意,我使用安德魯兒童的叉子(https://github.com/andrewchilds/SlickGrid),這個代碼很好的工作。 – matma
我認爲'grid.getData()[value]'和'grid.getData()。getItem(value)'之間的區別與用於網格存儲的類型有關:前者適用於數組,後者適用於數組.DataView。我的意思是,我在猜測;我可能是完全錯誤的,但嘗試一下。 –