フィルタ(DataView)によって一部の行が非表示になっている滑りグリッドがあります。slickgridで選択した行のデータを取得します。
グリッドのgetSelectedRowsメソッドを呼び出すと、視覚的に選択された行のインデックスが取得されます。しかし、私は選択された行の実際のデータが必要です。
フィルタ(DataView)によって一部の行が非表示になっている滑りグリッドがあります。slickgridで選択した行のデータを取得します。
グリッドのgetSelectedRowsメソッドを呼び出すと、視覚的に選択された行のインデックスが取得されます。しかし、私は選択された行の実際のデータが必要です。
あなたはこのような何かをする必要があります。
var selectedData = [],
selectedIndexes;
selectedIndexes = _grid.getSelectedRows();
jQuery.each(selectedIndexes, function (index, value) {
selectedData.push(_grid.getData()[value]);
});
を今selectedData変数は、選択した行のデータが含まれています。
そのフォークに応じて一貫性のないと思われるので、あなたはまた、代わりにグリッドオブジェクトからのgetData()を使用してのデータビューからデータをプルする.eachループにこのラインを使用することができ:
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));
});
DataViewを使用していない場合、@matmaのソリューションはうまく動作します。それは間違いではありません。あなたのソリューションはおそらくより良いですが、それはいつもうまくいくでしょう。 – 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、それは私が探していた方法だっクリックします。グリッド.getData [値]が機能しませんでしたgrid.getData()。getItem(値)を使用する必要がありました。 – Preli
私はAndrew Childのフォーク(https://github.com/andrewchilds/SlickGrid)を使用しています。このコードはうまくいきます。 – matma
'grid.getData()[value]'と 'grid.getData()。getItem(value)'の違いは、グリッドの格納に使用される型に関係していると思います。前者は配列で、後者はSlick .DataView。つまり、私は推測している。私は全く間違っているかもしれませんが、試してみてください。 –