2010-02-10 83 views
0

我有一個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> 

回答

1

嘗試加入您的活動的radgrid控件的ItemCreated的decleration。

+0

修好了!謝謝 – 2010-02-10 15:56:23