2015-01-21 14 views
0

검도 UI에서 사용자 지정된 Treelist가 있고 사용자 정의 명령 단추를 사용하고 있습니다. 나는 수동으로 버튼에 clickevent를 추가하고 또한 편집, 삭제 및 업데이트 버튼을 수동으로 숨기고 표시합니다.검도 TreeList doubleclick 가져 오기 트리 노드 정보

트리의 3 계층이 계층 구조에 있기 때문에 모든 것입니다. 1 단계와 2 단계는 카테고리이고 3 단계는 제품입니다. 3 단계 만 편집 할 수 있어야하므로 일부 유형의 스크립팅을 사용하여 열의 "유형"필드를 확인한 후 열 템플릿을 작성하여 작동합니다. 제품에서만 버튼을 얻을 수 있습니다.

이제 버튼없이 doubleclickevent를 사용하여 동일한 작업을 수행 할 수 있는지 살펴 보겠습니다. 그래서 DoubleListkevent를 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 
      //} 
     }); 

답변

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