Javascript 显式激发剑道网格的自定义命令
我有一个带有自定义命令的剑道网格。现在的问题是,我想为特定的行触发该自定义命令,但无法执行。 这是我的密码: 网格: 现在我有一个文本框和一个按钮,在文本框中,用户输入UserID,我必须为该用户id触发剑道网格的onsetrow事件。我知道这个把戏Javascript 显式激发剑道网格的自定义命令,javascript,jquery,kendo-ui,kendo-grid,Javascript,Jquery,Kendo Ui,Kendo Grid,我有一个带有自定义命令的剑道网格。现在的问题是,我想为特定的行触发该自定义命令,但无法执行。 这是我的密码: 网格: 现在我有一个文本框和一个按钮,在文本框中,用户输入UserID,我必须为该用户id触发剑道网格的onsetrow事件。我知道这个把戏 var row = $("#" + gridName).data("kendoGrid").table.find('tr[data-id="' + id + '"]') 但这对我不起作用。它没有给我任何东西 注意:我使用的是带有c#的asp.ne
var row = $("#" + gridName).data("kendoGrid").table.find('tr[data-id="' + id + '"]')
但这对我不起作用。它没有给我任何东西
注意:我使用的是带有c#的asp.net mvc5。
数据id
不会被剑道网格放入
元素中。它使用数据uid
,这是由数据源生成的GUID id
您可以通过执行以下操作获取项目的uid:
var id = 123; // get the ID from the text box
var gridWidget = $("#" + gridName).data("kendoGrid");
var dataItem = gridWidget.dataSource.get(id);
var uid = dataItem.uid;
var row = .table.find('tr[data-uid="' + uid + '"]');
当然,您可以将按钮单击处理程序简化为:
// called from grid action
function OnSelectRow(e) {
var grid = $("#UserList").data("kendoGrid");
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
showDetails(dataItem);
}
// called by button outside grid
function OnSelectRowManually() {
var id = 123; // get the ID from the text box
var dataItem = $("#UserList").data("kendoGrid").dataSource.get(id);
showDetails(dataItem);
}
// reusable code to show details
function showDetails(dataItem) {
alert("User Detail: "
+ dataItem.UserID
+ " "
+ dataItem.FirstName
+ " "
+ dataItem.LastName");
}
var id = 123; // get the ID from the text box
var gridWidget = $("#" + gridName).data("kendoGrid");
var dataItem = gridWidget.dataSource.get(id);
var uid = dataItem.uid;
var row = .table.find('tr[data-uid="' + uid + '"]');
// called from grid action
function OnSelectRow(e) {
var grid = $("#UserList").data("kendoGrid");
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
showDetails(dataItem);
}
// called by button outside grid
function OnSelectRowManually() {
var id = 123; // get the ID from the text box
var dataItem = $("#UserList").data("kendoGrid").dataSource.get(id);
showDetails(dataItem);
}
// reusable code to show details
function showDetails(dataItem) {
alert("User Detail: "
+ dataItem.UserID
+ " "
+ dataItem.FirstName
+ " "
+ dataItem.LastName");
}