RadTreeView expandir / recolher não funciona quando incorporado dentro RadGrid
-
19-09-2019 - |
Pergunta
Eu tenho um RadTreeView que fica dentro de um RadGrid. Por alguma razão os botões de expandir / colapso da Treeview não estão funcionando. Eu possível alargar a Treeview inicialmente, no entanto o evento NodeExpand nunca dispara. (A postback ocorre com o servidor, e eu tenho vários botões no nó treeview esse trabalho.) Uma vez que o nó foi ampliado, o botão Fechar não funciona e clicar sobre ele não faz nada. (sem postback para o servidor). Eu tenho o conjunto ExpandMode para ServerSide. No entanto, se eu mudar o Expandmode para Clientside ele funciona corretamente.
Eu realmente preciso de controle para o trabalho com ExpandMode conjunto para serverside, para reduzir a carga para a grande árvore de.
Im não sei se isso importa. Mas eu estou adicionando os eventos para o RadTreeView quando o RadGrid_ItemDataBound evento é acionado. Estou percebendo um comportamento estranho, que eu não posso explicar, quer, se eu não anexar um evento para NodeExpand Ela não consegue abrir ou fechar. Também o evento é acionado NodeDataBound com sucesso e os dados são de carregamento bem na árvore.
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);
Aqui está a decleration da Treeview no arquivo 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>
Solução
tente adicionar seus eventos ao RadGrid ItemCreated.