嵌入在RadGrid中时,RadTreeview展开/折叠不起作用

时间:2010-02-10 15:43:20

标签: c# asp.net telerik radgrid radtreeview

我有一个位于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>

1 个答案:

答案 0 :(得分:1)

尝试将您的事件添加到RadGrid ItemCreated。