Javascript 如何将绑定到KoGrid单元格的项传递到ViewModel

Javascript 如何将绑定到KoGrid单元格的项传递到ViewModel,javascript,knockout.js,kogrid,Javascript,Knockout.js,Kogrid,HTML: <div data-bind="koGrid: gridOptions" style="height:600px;border:solid 1px #ccc;"></div> 传递给removietem函数的item不是绑定到行的数据项,而是KoGrid列。如何获取绑定到行的数据项,以便将其传递给可观察数组上的remove函数 我已尝试使用jQuery和各种单元格模板连接click事件,尝试传入绑定到行的数据项,但未成功。默认情况下,当前数据上下文将传递到c

HTML:

<div data-bind="koGrid: gridOptions" style="height:600px;border:solid 1px #ccc;"></div>
传递给
removietem
函数的
item
不是绑定到行的数据项,而是KoGrid列。如何获取绑定到行的数据项,以便将其传递给可观察数组上的
remove
函数


我已尝试使用jQuery和各种单元格模板连接click事件,尝试传入绑定到行的数据项,但未成功。

默认情况下,当前数据上下文将传递到
click
处理程序,该处理程序是当前列对象,如中所述:

$data:kg.Column://列实体

您需要传入的是
$parent.entity://您的数据模型
,它是当前行实体

因此,您需要更改绑定:

{ 
    field: 'orderCatalogUpdateID', 
    cellTemplate: '<button data-bind="click: ' + 
       ' function() { $userViewModel.removeItem($parent.entity); }">X</button>', 
    displayName: ' ', 
    width: '2%' 
}
{
字段:“orderCatalogUpdateID”,
cellTemplate:'X',
显示名称:“”,
宽度:“2%”
}
演示

self.removeItem = function (item) {
    self.list.remove(item);
}
{ 
    field: 'orderCatalogUpdateID', 
    cellTemplate: '<button data-bind="click: ' + 
       ' function() { $userViewModel.removeItem($parent.entity); }">X</button>', 
    displayName: ' ', 
    width: '2%' 
}