Telerik NestedHierarchy で親列を非表示にする
-
29-10-2019 - |
質問
以下のようなグリッドがあり、さらにいくつかのデータ列があります。
ID 列と ParentID 列を非表示にしたいと考えています。ただし、ID を非表示にすると、展開/折りたたみ機能が存在しなくなります。すべての行が通常のテーブルと同様に表示されます。
どうすればそれを達成できますか?
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" OnColumnCreated="RadGrid1_ColumnCreated"
OnItemCreated="RadGrid1_ItemCreated" OnItemDataBound="RadGrid1_ItemDataBound" AutoGenerateColumns="false" OnPreRender="RadGrid1_PreRender">
<MasterTableView HierarchyDefaultExpanded="true" HierarchyLoadMode="Client" AllowSorting="false"
DataKeyNames="OrderId, MasterId" Width="100%">
<SelfHierarchySettings ParentKeyName="MasterId" KeyName="OrderId" MaximumDepth="1" />
<Columns>
<telerik:GridTemplateColumn HeaderText="Order ID" UniqueName="OrderId" Display="false">
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Name">
<ItemTemplate><%# Eval("Name") %></ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Number">
<ItemTemplate><%# Eval("PassengerNumber") %></ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Total">
<ItemTemplate><%# Eval("Total") %></ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowExpandCollapse="true" />
</telerik:RadGrid>
Display="false"
OrderID は HTML に保持されているため、この機能は動作するはずですが、動作しません。
誰かアイデアはありますか?
解決
わかりました。コードビハインドを詳しく調べた結果、解決策を見つけました。
私の場合、名前列に展開/折りたたみボタンが必要でした。
そのために:
.aspx ファイルでは、DataKeyNames に Name を追加する必要がありました。ID と ParentId グリッド列を削除しました。追加した UniqueName
属性を Name グリッド列に値 Name で設定します。
コードビハインドでは、展開/折りたたみボタンを作成するときに uniquecolumnname の Name を渡しました。
所属していません StackOverflow