columns: [
{
field: "Name",
title: "Name"
},
{
template: "<div>#if(data.Count > 0){#<a class='undo' onClick='showSiteName(#:Id#,`#:Name#`)'>#:Count# </a>#} else{#N/A#}#</div>",
field: "Count",
title: ""
},
{
command: [
{ name: "edit", template: "<a class="k-icon k-i-edit" onclick='onButtonClick(#:Id#)' title="Update"></a>" },
{ name: "delete", template: "<span class="k-icon k-i-delete" title="Delete"></span>", visible: function (data) { return data.Count == "0" } }
],
title: "Action"
}
]
在上面的代码onButtonClick(#:Id#),实际上我想传递Id作为一个参数,但现在我得到Id未定义的错误消息。
如何将点击行的ID传递给剑道中的此函数?
首先,删除已经设置的onclick
事件。然后为您的网格设置dataBound
事件。在事件中,绑定到编辑按钮的click
事件。在click
事件中,执行以下操作:
- 获取最近的
tr
- 从kendoGrid调用
dataItem
方法获取数据项,传递tr
- 从数据项 获取数据点
下面是一个例子:
dataBound: function() {
$('.k-grid-edit').on('click', function(e) {
e.preventDefault();
var tr = $(e.target).closest("tr");
var data = $("#grid").data('kendoGrid').dataItem(tr);
var id = data.Id;
console.log(id);
});
}
小提琴:https://dojo.telerik.com/ADiteHOc