Проверка, является ли datarowview нулевым? - PullRequest
0 голосов
/ 03 ноября 2018

Я сталкиваюсь с проблемой при попытке проверить, является ли ячейка таблицы данных wpf нулевой, я всегда получаю исключение нулевой ссылки, даже когда пытаюсь проверить, является ли оно нулевым, может ли кто-нибудь помочь мне здесь?

код ниже

for (int i = 0; i < commandeDataGrid.Items.Count; i++)
        {

            DataRowView row = commandeDataGrid.Items[i] as DataRowView;

            if (row["Prix Total TTC"]!=null)
            {
               count = count + Convert.ToInt16(row["Prix Total TTC"]);
            }

        }

1 Ответ

0 голосов
/ 05 ноября 2018

Вы должны проверить, действительно ли оператор as возвращает DataRowView:

for (int i = 0; i < commandeDataGrid.Items.Count; i++)
{
    DataRowView row = commandeDataGrid.Items[i] as DataRowView;
    if (row != null && row["Prix Total TTC"] != null)
    {
        count = count + Convert.ToInt16(row["Prix Total TTC"]);
    }
}

Или, еще лучше, перебрать ItemsSource:

DataView dataView = commandeDataGrid.ItemsSource as DataView;
if (dataView != null)
{
    foreach (DataRowView row in dataView)
    {
        if (row["Prix Total TTC"] != null)
        {
            count = count + Convert.ToInt16(row["Prix Total TTC"]);
        }
    }
}
...