Редактирование события двойного щелчка узла Kendoui treeview

У меня есть древовидное меню кендо. Я хочу обновить или удалить узел дерева кендо в событии двойного щелчка. Когда я дважды щелкаю узел дерева, он переходит в режим редактирования в текстовом поле. Затем я хочу добавить значок кнопки закрытия, и когда я нажимаю на него, я хочу удалить узел и связанные с ним дочерние узлы. Я определил код как

        var treeview = $("#treeview").kendoTreeView({
            template: kendo.template($("#treeview-template").html()),
            select: onSelect,
            loadOnDemand: true,
            dataSource: dataSource, // dynamic datasource
            dataTextField: ["categoryname"]
        }).on('dblclick', '.child', function(event)
        {
            $(this).siblings(".sri").show();
            $target = $(event.target);
            alert("event" + event);
            $target.editable(function (value, settings)
            {                  
                return value;
            },
            {
                event: 'dblclick',
                cssclass: 'treeInlineEdit'
            });

            $target.trigger('dblclick', [event]);

        }).data("kendoTreeView"); 

И мой шаблон похож на

      <script id="treeview-template" type="text/kendo-ui-template">

            <span class='child'>#: item.categoryname #</span>
            <a class='showcloseicon' onclick='sri(#:item.categoryid#)' name='#:item.categoryid#' style='color:blue;display:none'>X</a>

</script>

Но код не работает должным образом. Какие изменения мне нужно сделать.


person Jonathan    schedule 24.06.2013    source источник


Ответы (1)


Это может быть поздно для вечеринки, но я также искал событие KendoUI TreeView DoubleClick. Огляделся и ничего не было прямо вперед. Немного повозившись, я смог получить то, что мне нужно, в следующем коде. Я исключил всю обычную привязку и настройку источников данных и стандартную настройку древовидной структуры. Сразу после кода для настройки древовидной структуры у меня есть следующий код:

$("#treeView .k-in").on("dblclick", function (e) {
  var node = $(e.target).closest(".k-item");
  if ($("#treeView").getKendoTreeView().dataItem(node).items.length == 0) {
    // This means you are on an Item that has no Child items
    // Use $("#treeView").getKendoTreeView().dataItem(node) to get values from
    // the dataitem
  }
});

Это все, что мне было нужно, чтобы получить то, что я искал. Событие двойного щелчка элемента дочернего узла. Надеюсь, это поможет кому-то.

person Grandizer    schedule 12.12.2014