У меня есть Radtreeview, который находится внутри RadGrid. По какой-то причине кнопки «Развернуть / Свернуть» в Treeview не работают. Я могу изначально развернуть Treeview, однако событие NodeExpand никогда не срабатывает (обратная передача происходит на сервере, и у меня есть несколько кнопок на работающем узле treeview.) После расширения узла кнопка свертывания не работает и нажатие на него ничего не делает. (без обратной передачи на сервер). У меня ExpandMode установлен на ServerSide. Однако, если я изменю режим расширения на Clientside, он будет работать правильно.
Мне действительно нужен элемент управления для работы с ExpandMode, установленным на стороне сервера, чтобы уменьшить загрузку больших деревьев.
Я не уверен, имеет ли это значение. Но я добавляю События в RadTreeview, когда происходит событие RadGrid_ItemDataBound. Я замечаю одно странное поведение, которое я тоже не могу объяснить, если я не прикрепляю событие к 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);
Вот декляция Treeview в файле 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>