2010-02-10 13 views
0

J'ai un Radtreeview qui se trouve à l'intérieur d'un RadGrid. Pour une raison quelconque, les boutons expand/collapse de Treeview ne fonctionnent pas. Je peux étendre l'arborescence au début, mais l'événement NodeExpand ne se déclenche jamais (une publication se produit sur le serveur et plusieurs boutons sur le nœud treeview fonctionnent). Une fois le nœud développé, le bouton de réduction ne fonctionne pas et cliquer dessus ne fait rien (pas de publication sur le serveur). J'ai le ExpandMode défini sur ServerSide. Cependant, si je change le Expandmode en Clientide cela fonctionne correctement.RadTreeview expand/collapse ne fonctionne pas lorsqu'il est intégré à RadGrid

J'ai vraiment besoin du contrôle pour travailler avec ExpandMode réglé sur le côté serveur, pour réduire le chargement pour les grands arbres.

Je ne sais pas si cela compte. Mais j'ajoute les Evénements à RadTreeview lorsque l'événement RadGrid_ItemDataBound est déclenché. Je remarque un comportement étrange, que je ne peux pas expliquer non plus, si je n'attache pas un événement à NodeExpand. Il ne s'ouvre pas ou ne se ferme pas. L'événement NodeDataBound se déclenche également et les données se chargent correctement dans l'arborescence.

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); 

Voici le decleration du Treeview dans le fichier 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> 

Répondre

1

essayer d'ajouter vos événements au RadGrid ItemCreated.

+0

Cela l'a corrigé! Merci –