1

ページャープラグインで SlickGrid を使用しています。私の意図は、SlickGrid に明細項目を表示し、ユーザーが行をダブルクリックして詳細を取得できるようにすることです。正常に動作しているように見えるコードがありますが、これを難しい方法で行っているように感じます。

grid.onDblClick.subscribe(function(e, args) {
    var selectedIndex = parseInt(grid.getSelectedRows());
    var pageInfo = dataView.getPagingInfo();
    var pageSize = pageInfo.pageSize;
    var pageNum = pageInfo.pageNum;
    var idx = pageSize*pageNum + selectedIndex;
    var asset = rows[idx].assetName;
    alert("Selected Asset is " + asset);
});

grid.getData()[selectedIndex]人々が aまたは aを行った場所に投稿された他の質問を見てきましたdataView.getItemById(selectedIndex)が、selectedIndex常に 0 から何かの数字であるため、どのページにいても、リストの最初のページから常にデータを取得しました。ページで選択したインデックスをデータ配列の実際の行にマップする直接的な方法はありますか? 繰り返しますが、上記のコードは問題なく動作しているようです。明らかなメソッドがどこかに欠けているように感じます。

4

1 に答える 1

3
grid.onDblClick.subscribe(function(e, args) {
  alert("Selected asset is " + args.item);
  alert("Or " + grid.getData().getItem(args.row));
  alert("Or " + grid.getDataItem(args.row));
});
于 2012-04-23T21:40:21.553 に答える