我正在尝试在AngularJS中处理KendoUI网格中的选择事件。
我已经让我的代码按照下面的方式工作了。但是,这感觉像是一个非常讨厌的方法,必须获得所选行的数据。特别是使用_data。有没有更好的方法来做到这一点?我有没有得到错误的方法?
<div kendo-grid k-data-source="recipes" k-selectable="true" k-sortable="true" k-pageable="{'refresh': true, 'pageSizes': true}"
k-columns='[{field: "name", title: "Name", filterable: false, sortable: true},
{field: "style", title: "Style", filterable: true, sortable: true}]' k-on-change="onSelection(kendoEvent)">
</div>
$scope.onSelection = function(e) {
console.log(e.sender._data[0].id);
}
5条答案
按热度按时间cvxl0en21#
请尝试以下操作:
cs7cruho2#
加入聚会比较晚,有一个直接的方法可以做到,而不需要接触网格对象:
在标记上:
在代码中:
请注意,如果需要,您仍然可以发送
selected
、dataItem
、kendoEvent
或columns
。请访问此链接以获取更多详细信息。
vyswwuz23#
用于双向绑定到所选行的指令。应与kendo-grid指令放在同一元素上。
** typescript 版本:**
Javascript版本
2sbarzqh4#
以下是如何使用Angular 指令执行此操作的快速示例。
注意,我是通过click事件和DOM句柄获取对底层kendo网格的引用的。
mefy6pfw5#
我建议像这样使用,当我将应用程序从Angular 7升级到15时,我也遇到了未定义的问题。现在,我得到了如下所示的事件详细信息
一个事件在其索引0处选择了行,您可以将dataItem作为第一个对象,然后您可以拥有所有对象的详细信息,例如ID、名称、产品详细信息,以及您想要选择的任何内容,如图片
所示