RadGrid内にあるRadtreeviewがあります。何らかの理由で、Treeviewの展開/折りたたみボタンが機能していません。Treeviewを最初に展開することはできますが、NodeExpandイベントが発生することはありません(サーバーにポストバックが発生し、treeviewノードにいくつかのボタンが機能します)。ノードが展開されると、折りたたみボタンは機能しません。 、それをクリックしても何も起こりません(サーバーへのポストバックはありません)。ExpandModeをServerSideに設定しています。ただし、ExpandmodeをClientsideに変更すると、正しく機能します。
大きなツリーの負荷を減らすために、サーバーサイドに設定されたExpandModeで動作するコントロールが本当に必要です。
これが重要かどうかはわかりません。しかし、イベントRadGrid_ItemDataBoundが発生したときに、イベントをRadTreeviewに追加しています。NodeExpandにイベントをアタッチしないと、説明できないという1つの奇妙な動作に気づきました。これは、開くことも閉じることもできません。また、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ファイルのTreeviewのデクレレーションです
<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>