Расширение / сворачивание RadTreeView не работает при внедрении в RadGrid

StackOverflow https://stackoverflow.com/questions/2238100

Вопрос

У меня есть Radtreeview, который находится внутри RadGrid.По какой-то причине кнопки развертывания / сворачивания Treeview не работают.Изначально я могу развернуть Treeview, однако событие NodeExpand никогда не срабатывает.(обратная передача на сервер действительно происходит, и у меня есть несколько кнопок на узле treeview, которые работают.) Как только узел был развернут, кнопка сворачивания не работает, и нажатие на нее ничего не делает.(нет обратной передачи на сервер).У меня установлен режим расширения на стороне сервера.Однако, если я изменю Expandmode на 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>
Это было полезно?

Решение

попробуйте добавить свои события в созданный элемент RadGrid.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top