Benchè il GridView offra la possibilità di visualizzare un semplice messaggio di testo o un template nel caso la fonte dati non contenga nessun elemento, non è possibile mostrare l'header delle colonne.
Il problema è risolvibile estendendo la classe GridView, eseguendo l'override del metodo CreateRow:
public class MyGridView : GridView { protected override GridViewRow CreateRow(int rowIndex, int dataSourceIndex, DataControlRowType rowType, DataControlRowState rowState) { if (rowType == DataControlRowType.EmptyDataRow) return base.CreateRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal); else return base.CreateRow(rowIndex, dataSourceIndex, rowType, rowState); } }
E dichiarando una semplice EmptyDataTemplate:
<EmptyDataTemplate>Specificare un testo.</EmptyDataTemplate>
Così facendo verrà richiamato il Metodo CreateRow, che nel nostro caso non istanzierà più i controlli contenuti nell'EmptyDataTemplate, ma restituirà una nuova riga di tipo Header.
Successivamente è sufficiente registrare la classe (che può essere anche salvata in /App_Code/), attraverso la direttiva
<%@Register %>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Integration testing con ASP.NET Core e Docker Compose
Usare AntiForgeryToken in uno scenario web farm con ASP.NET Core MVC
Una chat con ASP.NET Core e WebSockets
Esporre HTTPS da un'applicazione ASP.NET Core eseguita in un Docker container
Sfruttare Redis come storage per AntiForgeryToken in ASP.NET Core
Docker e ASP.NET Core: portare i nostri siti web su container
Realizzare una strategia di retry e fallback complessa con Polly in ASP.NET Core MVC
Testare la risposta di un'action ASP.NET Core
Compressione GZip in ASP.NET Core
Gestire retrieve, update e delete in ASP.NET Core con MongoDb
Usare fiddler per debuggare un progetto ASP.NET Core Web API
Implementare il pattern Circuit Breaker in ASP.NET Core MVC