【问题标题】:How to get selected row data of kendo detail grid如何获取剑道细节网格的选定行数据
【发布时间】:2013-04-10 15:29:57
【问题描述】:

我能够在剑道网格(主网格)中获取选定的行,但我无法在详细网格中获取选定的行数据。请给我一个代码示例。 谢谢, 阿比

【问题讨论】:

    标签: kendo-ui kendo-grid


    【解决方案1】:

    就像主网格一样。在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 按钮时,它会在浏览器的控制台中显示所选行及其数据)。

    【讨论】:

    • 感谢 OnaBai,我现在可以做到了,我没有得到网格实例。这是我的错。
    • 我正在尝试从一个网格中选择多行并将这些行分配给另一个网格。我怎样才能做到这一点?请帮忙。
    • @Jain,您不应该以 cmets 的身份提出问题,因为这会阻止其他人找到已提出问题的解决方案。尝试发布一个新问题,我很乐意为您提供帮助。谢谢!
    • 我确实提出了一个新问题,但老实说,我是想引起你的注意!你以前帮助过我,我知道你在剑道 ui 方面有多好。无论如何,我解决了这个问题。感谢您的建议。
    • 很高兴听到您解决了并且使用 cmets 没有问题,这只是帮助他人的问题。
    【解决方案2】:

    这里有一个更简单的示例,说明如何获取点击行的数据: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-01-29
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      相关资源
      最近更新 更多