我能够在剑道网格(主网格)中获取选定的行,但我无法在详细网格中获取选定的行数据。请给我一个代码示例。谢谢,阿比
问问题
14293 次
2 回答
7
就像主网格一样。作为childgrid
与细节对应的网格,请执行以下操作:
var row = childgrid.select();
var data = childgrid.dataItem(row);
console.log("row", row);
console.log("data", data);
我将master
网格定义为:
$("#grid").kendoGrid({
...
detailInit: detailInit,
...
});
当扩展主网格中的一行时,使用以下函数创建详细信息网格:
function detailInit(e) {
childgrid = $("<div/>").appendTo(e.detailCell).kendoGrid({
dataSource: {
type: "odata",
transport: {
read: "http://demos.kendoui.com/service/Northwind.svc/Orders"
},
serverPaging: true,
serverSorting: true,
serverFiltering: true,
pageSize: 5,
filter: { field: "EmployeeID", operator: "eq", value: e.data.EmployeeID }
},
scrollable: false,
sortable: false,
selectable: true,
pageable: true,
columns:
[
{ field: "OrderID", width: "70px" },
{ field: "ShipCountry", title: "Ship Country", width: "110px" },
{ field: "ShipAddress", title: "Ship Address" },
{ field: "ShipName", title: "Ship Name", width: "200px" }
]
}).data("kendoGrid");
}
在此处运行示例:http: //jsfiddle.net/OnaBai/2M86L/(当您单击Show
按钮时,它会在浏览器的控制台中显示所选行及其数据)。
于 2013-04-10T17:12:38.163 回答
0
这里有一个关于如何获取点击行的数据的更简单的例子:http: //jsfiddle.net/Corne/AQqMH/5/
这是魔术发生的代码:
change: function (arg) {
var selectedData = this.dataItem(this.select());
// selectedData now points to the selected dataSource item!
alert("Clicked id: " + selectedData.id);
}
于 2014-02-07T09:50:48.770 回答