Получить первые данные ячейки в дочерней сетке сетки хенхари кендо

Я использую сетку иерархии кендо. В дочерней сетке я помещаю кнопку "edit". Поэтому, когда я нажимаю кнопку "Изменить", мне нужно получить данные (ID) первого столбца дочерней строки.

Моя функция detailInit и функция clickbfunction здесь.

function detailInit(e) { 
 var _Po_sectionID =e.data.SectionID;
 $("<div><code>").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: ""
 } 
 ]},
 ]
 });
 }</code> <p> Как я могу передать данные ячейки ячейки первой строки в функцию OnPositionRowSelect?</p> <pre class="prettyprint linenums">function OnPositionRowSelect(e) {
 e.preventDefault();
 _ _ _ _ _ _ _ _ _ _ _ _ _
 _ _ _ _ _ _ _ _ _ _ _ _

 alert("Container Id : "+ ContainerID);

 }
1 ответ

Вы можете получить его, используя функцию closest(). (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);
}

licensed under cc by-sa 3.0 with attribution.