0

我有一个位于 RadGrid 内的 Radtreeview。由于某种原因,Treeview 的展开/折叠按钮不起作用。我最初可以展开 Treeview,但是 NodeExpand 事件永远不会触发。(回发确实发生在服务器上,并且我在 treeview 节点上有几个可以工作的按钮。)一旦节点展开,折叠按钮就不起作用,然后单击它什么也不做。(没有回发到服务器)。我将 ExpandMode 设置为 ServerSide。但是,如果我将 Expandmode 更改为 Clientside 它可以正常工作。

我真的需要控件将 ExpandMode 设置为服务器端,以减少大型树的负载。

我不确定这是否重要。但是当事件 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>
4

1 回答 1

1

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

于 2010-02-10T15:46:18.930 回答