2

我正在使用 Telerik Ajax 控件 RadOrgChart

我想捕获在 OrgChart 中单击(实际上是右键单击)节点的时间。我希望事件传递单击的节点的 ID。

我在 OrgChart 中找不到任何此类事件。

任何人都可以请建议如何做到这一点。

谢谢

4

2 回答 2

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);
        })
于 2012-10-11T15:39:49.053 回答
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 回答