获取kendo层次结构网格的子网格中的第一个单元格数据

时间:2013-10-06 15:58:35

标签: asp.net kendo-grid

我正在使用kendo Hierarchy网格。在子网格中我放了一个“编辑”按钮。因此,当我单击编辑按钮时,我需要获取子行第一列数据(ID)。

我的detailInit函数和clickbfunction就在这里。

     function detailInit(e) {                       
         var    _Po_sectionID =e.data.SectionID;
         $("<div/>").appendTo(e.detailCell).kendoGrid({
               dataSource: {
                  transport: {
                    read: _PostionsBySectionUrl + _Po_sectionID
                  },
                  schema: {
                    data: "Data",
                    total: "Count"
                  },                                    
               },
                  scrollable: false,
                  sortable: true,
                  pageable: true,
                       { field: "ContainerID", title: "Possition ID",hidden:true },
                       { field: "ContainerName", title: "ContainerName",hidden:true  },
                       {
                           title: "Action", width: 95, command: [
                           {
                             id: "edit",
                             name: "edit",
                             click: OnPositionRowSelect,
                             template: "<a class='k-button k-grid-edit' href='' style='min-width:16px;'><span class='k-icon k-edit'></span></a>"
                           }                                                       
                           ]},
                 ]
          });
   }

我怎样才能将第一行细胞数据输入OnPositionRowSelect函数?

function OnPositionRowSelect(e) {
       e.preventDefault();
       _ _ _ _ _  _ _ _ _ _ _ _ _
       _ _  _ _ _ _ _  _ _ _ _ _

       alert("Container Id : "+ ContainerID);

 }

1 个答案:

答案 0 :(得分:0)

您可以使用nearest()函数获取它。 (http://www.kendoui.com/forums/kendo-ui-web/grid/how-to-get-first-cell-data-in-child-grid-of-hierachy-grid.aspx#boJSZK6aG2OF1P8AAFTdxQ

function OnPositionRowSelect(e) {
    e.preventDefault();
    var element = $(e.target);
    var grid = element.closest("[data-role=grid]").data("kendoGrid");
    var dataItem = grid.dataItem(element.closest("tr"));

    alert(dataItem.ContainerID);
}