2015-01-21 7 views
0

У меня есть настраиваемый тревеллист из пользовательского интерфейса кендо, и я использую настраиваемые кнопки управления. Я вручную добавляю кнопки к кнопкам, а также вручную скрываю и показываю кнопки редактирования, удаления и обновления.Kendo TreeList doubleclick get Tree-node info

Это все, потому что в дереве у меня есть 3 уровня в иерархии. 1-й и 2-й уровни являются категориями, а 3-й уровень - продуктами. Только 3-й уровень должен быть доступен для редактирования, поэтому я создал шаблон столбца с некоторыми скриптами, проверяющими поле «Тип» строки и вуаля, который он работает. Только продукты получают кнопки.

Теперь я изучаю, могу ли я сделать то же самое без кнопок, но с помощью doubleclickevent. Поэтому я добавил doubleclickevent в TreeList, но:

Как получить информацию о иерархии (уровень 3), чтобы проверить, говорим ли мы о продукте? У кого-нибудь есть идея?

До сих пор я придумал этот код для DoubleClick:

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

ответ

2

Попробуйте это:

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

с текущим щелкнул tr вы можете использовать dataItem сеточный метод, чтобы получить DataItem от текущий ряд:

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

Это сработало отлично. Спасибо. – Rick

+0

@Rick Рад помочь. – DontVoteMeDown

 Смежные вопросы

  • Нет связанных вопросов^_^