ExtJSのグリッドでは、私はこのような選択したデータ項目のインデックスを取得することができますExtJSグリッドでダブルクリックされた行からデータを取得する方法は?
grid.getSelectionModel().on('rowselect', function(sm, index, rec){
changeMenuItemInfoArea(menuItemApplication, 'you are on row with index ' + index);
var row_number_parts = rec.id.split('-'); // rec.id = e.g. "ext-record-1"
var selected_index = row_number_parts[2] - 1;
alert(selected_index);
});
をしかし、どのように、私はダブルクリックで選択したデータ項目のインデックスを取得できますか?
私はこれを実行します。
listeners: {
'rowdblclick': function(grid, rowindex, e){
console.log(...);
}
}
grid
とe
の、インデックス、ユーザーが列を頼っ場合ので、私は必要な情報とrowindex
は有用ではありませんていないようです両方をダブルクリックされた行は必ずしもグリッドをロードしたデータセットのインデックスではありません。
補遺
おかげ@McStretch、私は最終的に、このように、その後、編集ページにIDを送信して、id列を隠して、アイテムリストにid
を入れて手で問題を解決しました:
listeners: {
'rowdblclick': function(grid, index, rec){
var id = grid.getSelectionModel().getSelected().json[0];
go_to_page('edit_item', 'id=' + id);
}
}
これを行わないでください。ソート後もインデックスは正しいです。並べ替えはストアレベルで処理されるため、インデックスはストアとグリッドの間で一致します。 –
ありがとう、インデックスが何を参照したかは不明でした –