TelerikAjaxコントロールRadOrgChartを使用しています
OrgChartでノードがクリックされた(実際には右クリックされた)タイミングをキャプチャしたいと思います。クリックしたノードのIDをイベントに渡してほしい。
OrgChartでそのようなイベントを見つけることができません。
誰かがそれを行う方法を提案できますか?
ありがとう
ドキュメントを読むと、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>
この例では、アイテム内にボタンを配置しているため、ボタンのクリックを処理できます。
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);
})