Come posso nascondere una colonna solo nella pagina di elenco in ASP.NET Dynamic Data?
-
09-06-2019 - |
Domanda
Questo è in qualche modo simile a questa domanda.
Tuttavia, anziché voler nascondere una colonna del tutto, sto solo cercando di nascondere la colonna nella pagina List.aspx.
Il mio esempio specifico è che i campi lunghi (o almeno nvarchar(MAX)) si nascondono automaticamente dalla pagina List.aspx così come sono ma sono ancora visibili nella pagina Edit.aspx.
Vorrei replicare questo comportamento per altre colonne (più brevi).
È possibile?
Soluzione
Puoi creare una pagina personalizzata per la tabella specifica che desideri modificare.C'è un esempio Qui.
All'interno della tua pagina personalizzata, puoi quindi impostare AutoGenerateColumns="false"
all'interno del asp:GridView
controllo, quindi definisci esattamente le colonne che desideri, in questo modo:
<Columns>
...
<asp:DynamicField DataField="Product" HeaderText="Product" />
<asp:DynamicField DataField="Colour" HeaderText="Colour" />
</Columns>
Altri suggerimenti
Penso che questa soluzione sia davvero utile, perché ti consente di utilizzare il modello di attributi per specificare quali colonne vanno dove:http://csharpbits.notaclue.net/2008/10/dynamic-data-hiding-columns-in-selected.html
se stai usando bootstrap puoi impostare in questo modo
<asp:DynamicField DataField="Id" ItemStyle-CssClass="hidden" HeaderStyle-CssClass="hidden" FooterStyle-CssClass="hidden"/>