2012-10-11 4 views
2

내가 노드가 클릭 된 때 OrgChart를에 (사실에서 마우스 오른쪽 클릭) 캡처 할 Telerik RadOrgChart 노드 클릭 이벤트

을 RadOrgChart. 클릭 한 노드의 ID를 이벤트가 전달하도록합니다.

오그 차트에서 이러한 이벤트를 찾을 수 없습니다.

누구든지 어떻게 할 수 있습니까 제안하십시오.

덕분에 내가 RadOrgChart 노드를 클릭에 대한 이벤트 처리기가 나던 것을 볼 설명서를 읽기

답변

1

감사합니다.

대신 클라이언트 측에서 더 나은 방법을 찾았습니다.

telerik의 Orgchart에 노드 각각이 작품처럼 기본 CSS 클래스, 그래서 뭔가를 :

$telerik.$(".rocItem").click(function (e) { 
      var orgChart = $find("<%= RadOrgChart1.ClientID %>"); 
      var index = orgChart._extractGroupItemFromDomElement(e.target).get_index(); 
      var hierarchicalIndex = orgChart._extractNodeFromDomElement(e.target)._getHierarchicalIndex(); 
      hierarchicalIndex = orgChart._getRealHierarchicalIndex(hierarchicalIndex); 
      alert("Clicked " + hierarchicalIndex); 
     }) 
+1

니스 cliente 솔루션을. 원래 질문에서 "OrgChart에서 그러한 이벤트를 찾을 수 없습니다."라고 말했기 때문에 나는 (잘못) 서버 이벤트를 요구한다고 생각했습니다. 사실, 당신의 솔루션은 서버 메소드를 호출하지 않지만, jQuery의 ajax API를 사용하여 이것을 해결할 수있다. 지금은 문제를 해결할 수있는 두 가지 방법이 있지만 시스템에 맞는 것을 선택하십시오. – Ewerton

+0

계층 적 ID는 각 수준에서 노드의 0 기반 인덱스를 참조하므로 "0 : 2 : 1"의 계층 적 ID는 첫 번째 부모의 세 번째 자식의 두 번째 손자를 참조합니다. 노드의 ID를 원할 경우, _get HierarchicalIndex() 대신 orgChart._extractNodeFromDomElement (e.target)의 결과에 대해 getId()를 호출하십시오. –

1

, 그래서 나는 당신이 당신의 자신의 ItemTemplate을을하고 템플릿, 이런 일의 항목의 클릭을 처리 할 수 ​​있다고 생각.

<telerik:RadOrgChart ID="RadOrgChartDirectReports1" EnableViewState="true" Skin="Office2010Silver" 
     runat="server"> 
     <ItemTemplate> 
      <asp:Button CausesValidation = "false" OnClick="LinkButton_Click" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "EmployeeId")%>' 
       runat="server" Text = "Click" ID="LinkButtonNode"></asp:Button> 
     </ItemTemplate>   
    </telerik:RadOrgChart> 

이 예에서는 항목 안에 버튼을 넣으므로 버튼 클릭을 처리 할 수 ​​있습니다.