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
Load test di ASP.NET Core con k6
Short-circuiting della Pipeline in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Implementare il throttling in ASP.NET Core