Ho un elenco di oggetti popolato da un database. Ho bisogno di visualizzare un messaggio di errore se l'elenco è vuoto e di visualizzare una vista a griglia altrimenti.
Come faccio a controllare se una List<T>
è vuota in C#?
Perché no...
bool isEmpty = !list.Any();
if(isEmpty)
{
// error message
}
else
{
// show grid
}
La GridView
ha anche un EmptyDataTemplate
che viene mostrato se il datasource è vuoto. Questo è un approccio in ASP.NET:
<emptydatarowstyle backcolor="LightBlue" forecolor="Red"/>
<emptydatatemplate>
<asp:image id="NoDataErrorImg"
imageurl="~/images/NoDataError.jpg" runat="server"/>
No Data Found!
</emptydatatemplate>
Se l'implementazione della lista che stai usando è IEnumerable<T>
e Linq è un'opzione, puoi usare Any
:
if (!list.Any()) {
}
Altrimenti si ha generalmente una proprietà Length
o Count
rispettivamente sugli array e sui tipi di collezione.
Che ne dite di usare il metodo Count().
if(listOfObjects.Count() != 0)
{
ShowGrid();
HideError();
}
else
{
HideGrid();
ShowError();
}