SlickGrid javascript 获取当前行数据

SlickGrid javascript get current row data

我想在按下 Delete 键时删除一行。但我无法从以下来源获取任何数据:

var selectedrows = grid.getSelectedRows();

grid.onKeyDown.subscribe(function(event) {
    var item = data[selectedrows.cell];
    if (event.keyCode == 46) {
        alert(item.hostname);
    }
}); 

首先,getSelectedRows() 函数 return 是所选列编号的 Array。您尝试的方式将 return undefined,因为 Array 不包含任何称为 cells.[=24 的 属性 =]

打开这个官方 SlickGrid example 演示并尝试以下操作:

Select 网格中的第一行。

尝试在 JS 调试器控制台中发出以下命令:

grid.getSelectedRows()

将return你一个数组与选定的行号为:

Array [ 0 ]

returned Array's第一个元素是您刚刚选择的行号。

既然我们知道了选定的行号,请发出以下命令:

data[grid.getSelectedRows()[0]]

请问return你选Object为:

Object { name: "Make a list", complete: true }

如果你想达到 returned Object 的 属性,你可以这样做:

var selectedRow = data[grid.getSelectedRows()[0]];
console.log(selectedRow.name);

将return属性name的值设为:

Make a list

希望这能消除您的困惑。