【问题标题】:Kendo TreeList doubleclick get Tree-node infoKendo TreeList 双击获取树节点信息
【发布时间】:2015-01-21 23:56:37
【问题描述】:

我有一个来自剑道 UI 的自定义树列表,并且我正在使用自定义的命令按钮。我手动将点击事件添加到按钮,并手动隐藏和显示编辑、删除和更新按钮。

这都是因为在树中我在层次结构中有 3 个级别。 1 级和 2 级是类别,3 级是产品。只有第 3 级应该是可编辑的,所以我创建了一个列模板,其中包含一些脚本检查行的“类型”字段,瞧,它可以工作。只有产品才能获得按钮。

现在我正在探索是否可以在没有按钮但使用 doubleclickevent 的情况下做同样的事情。所以我将双击事件添加到 TreeList 但是:

如何获取层次结构信息(第 3 级)以检查我们是否在谈论产品?有人有想法吗?

到目前为止,我想出了这个用于双击的代码:

var treeList = $("#treelist" <here specific class for row items ?> ).on("dblclick", function (e) {
            var rowindex = e.target.parentNode.rowIndex; // get rowindex
            var tr = $(e.target).closest("tr"); // get the nearest table row (tr)

            var treeList = $("#treelist").data("kendoTreeList");
            tr.find("#btndelete").addClass("hidden");
            tr.find("#btnedit").addClass("hidden");
            tr.find("#btnupdate").removeClass("hidden");
            treeList.saveRow();      // any other rows in editmode.. close
            treeList.editRow(tr[0]); // put selected row in editmode

            //if ($("#treeView").getKendoTreeList().dataItem(node).items.length == 0) {
                // These lines where from treeview. I have to adapt the for TreeList somehow
                // This if-statement should mean that you are on an Item that has no Child items
                // Use $("#treeView").getKendoTreeView().dataItem(node) to get values from
                // the dataitem
            //}
        });

【问题讨论】:

    标签: kendo-ui hierarchical-data double-click treelist


    【解决方案1】:

    试试这个:

    var dataItem = $("#treelist").data("kendoTreeList").dataItem($(e.target).closest("tr"));
    

    使用当前点击的tr,您可以使用Grid 的dataItem 方法从当前行获取dataItem:

    if (dataItem.Type == 3) // Or whatever that make your condition
    

    【讨论】:

      猜你喜欢
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 2014-06-07
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      相关资源
      最近更新 更多