我与Telerik的Ajax控件工作RadOrgChartTelerik的RadOrgChart节点点击事件
我想被点击一个节点时捕捉(其实右点击)在组织结构图。我希望事件传递点击节点的ID。
我在OrgChart中找不到任何这样的事件。
任何人都可以请建议如何做到这一点。
感谢
我与Telerik的Ajax控件工作RadOrgChartTelerik的RadOrgChart节点点击事件
我想被点击一个节点时捕捉(其实右点击)在组织结构图。我希望事件传递点击节点的ID。
我在OrgChart中找不到任何这样的事件。
任何人都可以请建议如何做到这一点。
感谢
谢谢Ewerton。
我发现了一种更好的方式来代替客户端。
每个Telerik的组织结构图节点有默认的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);
})
阅读该文档我看到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>
在这个例子中你把一个按钮放在一个项目中,所以,你可以处理按钮的点击。
尼斯cliente解决方案。在你原来的问题中,你说“我在OrgChart中找不到任何这样的事件”,所以我(错误地)认为你正在要求一个服务器事件。事实上,您的解决方案不会调用任何服务器方法,但您可以使用jQuery的ajax API来解决此问题。现在你有两条途径来解决你的问题,选择最适合你系统的那个。 – Ewerton
层次结构ID引用了每个层次上节点的从0开始的索引,因此“0:2:1”的层次结构ID引用了第一个父节点的第三个子节点的第二个孙。如果您想要节点的ID,请对orgChart._extractNodeFromDomElement(e.target)的结果调用getId(),而不是_get HierarchicalIndex()。 –