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);
});

我已经看到其他问题发布在人们做 agrid.getData()[selectedIndex]或 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 回答