Nascondi la colonna padre in Telerik NestedHierarchy
-
29-10-2019 - |
Domanda
Ho una griglia simile a quella sotto, la mia ha qualche colonna di dati in più.
Vorrei nascondere le colonne ID e ParentID.Ma se nascondo l'ID, la funzionalità Espandi / Comprimi cessa di esistere.Tutte le righe vengono visualizzate come in una normale tabella.
Come posso ottenerlo?
<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"
mantiene ancora OrderID nell'html, quindi questa funzionalità dovrebbe funzionare, ma non è così.
Qualcuno ha idea?
Soluzione
Ok.Ho trovato una soluzione dopo aver esaminato più da vicino il codice sottostante.
Nel mio caso, volevo il pulsante Espandi-Comprimi nella colonna Nome.
Per questo:
Nel file .aspx, ho dovuto aggiungere il nome a DataKeyNames.Colonne della griglia ID e ParentId rimosse.Aggiunto attributo UniqueName
a Name gridcolumn con valore Name.
Nel codice sottostante, ho passato Name per uniquecolumnname durante la creazione del pulsante Expand-Collapse.