-2

我在尝试验证 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"]);
            }

        }
4

1 回答 1

1

您应该检查 as 运算符是否实际返回 a 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"]);
        }
    }
}
于 2018-11-05T10:03:42.793 回答