我有一個RadTreeView,它位於RadGrid內部。出於某種原因,Treeview的展開/摺疊按鈕不起作用。我可以最初擴展Treeview,但是NodeExpand事件從不會觸發(服務器會發生回傳,並且在樹視圖節點上有幾個按鈕可以工作)。一旦節點被展開,摺疊按鈕不起作用,並點擊它什麼都不做(不回傳給服務器)。我將ExpandMode設置爲ServerSide。但是,如果我將Expandmode更改爲Clientside,則它可以正常工作。在RadGrid中嵌入RadTreeview展開/摺疊不起作用
我真的需要控件來將ExpandMode設置爲serverside,以減少大樹的加載。
林不知道這是否重要。但是當事件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文件
<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>
修好了!謝謝 – 2010-02-10 15:56:23