Ocultar coluna pai em Telerik NestedHierarchy
-
29-10-2019 - |
Pergunta
Eu tenho uma grade semelhante à abaixo, a minha tem mais algumas colunas de dados.
Eu gostaria de ocultar as colunas ID e ParentID.Mas se eu ocultar a ID, a funcionalidade Expandir / Recolher deixa de existir.Todas as linhas são exibidas como em uma tabela normal.
Como faço para conseguir isso?
<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"
ainda mantém OrderID no html, então essa funcionalidade deveria funcionar, mas não funciona.
Alguma ideia de alguém?
Solução
Ok.Eu encontrei uma solução depois de olhar mais de perto o código por trás.
No meu caso, queria o botão Expandir Recolher na coluna Nome.
Para isso:
No arquivo .aspx, tive que adicionar Name a DataKeyNames.Colunas de grade ID e ParentId removidas.Adicionado o atributo UniqueName
a Name gridcolumn com o valor Name.
No code behind, passei Nome para uniquecolumnname ao criar o botão Expandir Recolher.