1

我有一个具有以下自定义命令的 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 数据源的“创建”定义:

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);

但是节点未定义

有任何想法吗?

4

1 回答 1

1

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

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

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

工作演示

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

于 2016-08-30T21:05:47.930 回答