【发布时间】:2013-04-10 15:29:57
【问题描述】:
我能够在剑道网格(主网格)中获取选定的行,但我无法在详细网格中获取选定的行数据。请给我一个代码示例。 谢谢, 阿比
【问题讨论】:
标签: kendo-ui kendo-grid
我能够在剑道网格(主网格)中获取选定的行,但我无法在详细网格中获取选定的行数据。请给我一个代码示例。 谢谢, 阿比
【问题讨论】:
标签: kendo-ui kendo-grid
就像主网格一样。在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 按钮时,它会在浏览器的控制台中显示所选行及其数据)。
【讨论】:
这里有一个更简单的示例,说明如何获取点击行的数据: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);
}
【讨论】: