Javascript 如何将绑定到KoGrid单元格的项传递到ViewModel
HTML: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
<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%'
}