如何获取剑道详细网格的选定行数据

时间:2013-04-10 15:29:57

标签: kendo-ui kendo-grid

我能够在kendo网格(主网格)中获取所选行,但我无法在详细网格中获取所选行数据。请提供代码示例。 谢谢, ABHI

2 个答案:

答案 0 :(得分: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按钮时,它会在浏览器的控制台中显示所选行及其数据。

答案 1 :(得分:-1)

这是一个更简单的示例,介绍如何获取所点击行的数据: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);
}