我正在使用带有寻呼机插件的 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 到某个数字,所以无论我在哪个页面上,我总是从列表的第一页获取数据。是否有直接的方法将页面上的选定索引映射到数据数组中的实际行?再次,上面的代码似乎工作正常 - 感觉就像我在某处遗漏了一个明显的方法。