Как я могу проверить, есть ли в столбцах GridView данные для отображения - PullRequest
0 голосов
/ 18 апреля 2019

Я отображаю детали некоторых записей в GridView.Иногда в записях есть детали, а иногда нет.

В событии RowDataBound мне нужно установить видимость строки.Если в строке есть данные, покажите их, иначе не показывайте.Это метод, в котором я делаю это:

protected void gvBins_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        string bin = DataBinder.Eval(e.Row.DataItem, "BinNumber").ToString();

        if(bin.length == 0) e.Row.Visible = false;
    }
}

У меня возникает следующая ошибка, когда нет деталей для отображения

System.NullReferenceException: 'Object reference not set to an instance of an object. System.Web.UI.DataBinder.Eval(...) returned null.'

Как это исправить?

Это шаблон элемента для поля:

<ItemTemplate>
        <asp:Label ID="lblBin" runat="server" Text='<%# Bind("BinNumber") %>'></asp:Label>
</ItemTemplate>

Для этой конкретной записи нет никаких деталей, поэтому я хочу сделать эти строки невидимыми.

Как лучше всего справиться с этим?

...