我有一个位于RadGrid内的Radtreeview。由于某种原因,Treeview的展开/折叠按钮不起作用。我最初可以扩展Treeview,但是NodeExpand事件永远不会触发。(服务器发生回发,我在树视图节点上有几个按钮可以工作。)一旦节点被展开,折叠按钮就不起作用了,点击它什么都不做。(没有回发到服务器)。我将ExpandMode设置为ServerSide。但是,如果我将Expandmode更改为Clientside,它可以正常工作。
我真的需要控件才能将ExpandMode设置为serverside,以减少大型Tree的加载。
我不确定这是否重要。但是,当事件RadGrid_ItemDataBound被触发时,我将事件添加到RadTreeview。我注意到一个奇怪的行为,我无法解释,如果我没有将事件附加到NodeExpand它无法打开或关闭。此外,NodeDataBound事件成功触发,数据正在加载到树中。
RadTreeView tree = (RadTreeView)e.Item.FindControl("RadTreeView1");
tree.NodeDataBound += new RadTreeViewEventHandler(RadTreeView1_NodeDataBound);
tree.NodeExpand += new RadTreeViewEventHandler(RadTreeView1_NodeExpand);
tree.NodeCollapse += new RadTreeViewEventHandler(tree_NodeCollapse);
以下是ascx文件中Treeview的删除
<DetailTables>
<telerik:GridTableView Name="Detail Table" ShowHeader="false">
<Columns>
<telerik:GridTemplateColumn UniqueName="FooTreeview">
<ItemTemplate>
<telerik:RadTreeView ID="RadTreeView1" runat="server" DataValueField="CommunicationID"
LoadingStatusPosition="BelowNodeText" style="white-space: normal;">
<NodeTemplate>
<uc1:FooControl ID="r1" runat="server" FooBindings='<%#DataBinder.Eval(Container,"DataItem") %>' />
</NodeTemplate>
</telerik:RadTreeView>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</telerik:GridTableView>
</DetailTables>
答案 0 :(得分:1)
尝试将您的事件添加到RadGrid ItemCreated。