2

TelerikAjaxコントロールRadOrgChartを使用しています

OrgChartでノードがクリックされた(実際には右クリックされた)タイミングをキャプチャしたいと思います。クリックしたノードのIDをイベントに渡してほしい。

OrgChartでそのようなイベントを見つけることができません。

誰かがそれを行う方法を提案できますか?

ありがとう

4

2 に答える 2

1

ドキュメントを読むと、RadOrgChartにはノードクリック用のイベントハンドラーがないことがわかります。したがって、独自の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>

この例では、アイテム内にボタンを配置しているため、ボタンのクリックを処理できます。

于 2012-10-11T13:21:53.103 に答える
1

Ewertonに感謝します。

代わりに、クライアント側でそれを行うためのより良い方法を見つけました。

各telerikorgchartノードにはデフォルトの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);
        })
于 2012-10-11T15:39:49.053 に答える