如何获取Kendo TreeList自定义createChild命令的行索引

时间:2016-08-30 19:51:23

标签: kendo-ui kendo-grid kendo-treelist

我有一个Kendo TreeList,它有以下自定义命令:

{
    command: [
        {
            name: "Edit",
            imageClass: "fa fa-pencil"
        },
        {
            name: "Delete",
            imageClass: "fa fa-trash"
        },
        {
            name: "createChild",
            imageClass: "fa fa-plus"
        }
    ], title: "Actions", width: "300px"
}

单击“创建子项”按钮,输入我的数据并单击“更新”。这将我带到我的Kendo dataSource的“创建”定义:

create: function (e) {//Called when the create child command is saved
    //Collect the data needed for the save
}

此时我需要获取新行的行索引,但我似乎无法找到正确的方法。我尝试过这样的事情:

$(e.target).closest("tr").parent().index()

但是这给了-1

var selectedRow = $scope.treelist.select();
var node = $scope.treelist.dataItem(selectedRow);

但节点未定义

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

实际上,您没有将该行引用到create事件的范围内。但是,您可以在窗口小部件的DOM中找到该元素:

var index = $($("#grid").data("kendoTreeList").element).find(".k-grid-edit-row").index();

活动编辑行接收k-grid-edit-row类,您可以在窗口小部件的DOM树中轻松找到它。

Working Demo

不确定这是否是你真正想要的。