Il nuovo GridView è la versione migliorata del DataGrid, web control tra i più famosi nelle precedenti versioni di ASP.NET.
Tra le novità introdotte in questo web control c'è la possibilità di assegnare più "keys" ad ogni riga visualizzata, utile per poter prelevare più campi contemporaneamente al momento della selezione di un record.
Nell'allegato è possibile trovare un seplice esempio di GridView con paginazione, in cui è possibile selezionare una riga della tabella visualizzata. Nel momento della selezione nella parte superiore della finestra vengono visualizzati i due campi presenti in quella riga, valori presi direttamente dall'array DataKeyNames.
Per ottere questo ecco uno stralcio delle proprietà del GridView:
<asp:GridView ID="gw1" runat="server" OnSelectedIndexChanging="gw1_SelectedIndexChanging" DataKeyNames="id,nome" AllowPaging="True" OnPageIndexChanging="gw1_PageIndexChanging" EnableViewState="False"> <Columns> <asp:CommandField HeaderText="Select" ShowHeader="True" ShowSelectButton="True" /> </Columns> </asp:GridView>
Una volta selezionata la riga, nell'evento "OnSelectedIndexChanging" potremo sapere i valori di questi campi con questo codice:
protected void gw1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { messaggio.Text = string.Format( "Campo id: '{0}' - Campo nome: '{1}'<br />", gw1.DataKeys[e.NewSelectedIndex].Values[0].ToString(), gw1.DataKeys[e.NewSelectedIndex].Values[1].ToString() ); BindData(); }
Notare anche, con l'esempio presente in questo script, come la paginazione e la selezioni funzionino correttamente anche disabilitando il ViewState, con un peso notevolemente minore della pagina.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare l'output cache di ASP.NET Core 7 con i controller
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Gestire dati sensibili nella configurazione in ASP.NET Core
Taggare la output cache in base al routing in ASP.NET Core
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Gestire tipi complessi in query string grazie a IParsable in ASP.NET Core 7.0
Definire la durata dell'output cache in ASP.NET Core 7
Migliorare la scalabilità di ASP.NET Core 7 grazie all'output cache
Migrare un progetto ASP.NET Core da .NET 6 a .NET 7
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Sfruttare i tag nell'output cache di ASP.NET Core 7