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
Short-circuiting della Pipeline in ASP.NET Core
Implementare il throttling in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Load test di ASP.NET Core con k6
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Catturare la telemetria degli eventi di output cache in ASP.NET Core