我正在使用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]
或dataView.getItemById(selectedIndex)
,但由于selectedIndex
始终是0到某个数字,我总是从第一页获得数据在我的列表中,无论我在哪个页面。是否有直接的方法将页面上的选定索引映射到数据数组中的实际行?再次,上面的代码似乎工作得很好 - 只是感觉我在某个地方错过了一个明显的方法。
答案 0 :(得分: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));
});