Datagridview Combobox值

时间:2014-04-14 21:51:04

标签: c# winforms datagridview combobox nullreferenceexception

我在表单应用程序的组框内有一个datagridview。我已经制作了这段代码。

private bool checkrow(DataGridViewRow testrow)
{
    for (int i = 0; i < testrow.Cells.Count; i++)
    {
        if (testrow.Cells[i].Value != null)
        {
            MessageBox.Show(testrow.Cells[i].Value.ToString());
            if (testrow.Cells[i].Value.ToString() != string.Empty)
            {
                MessageBox.Show(testrow.Cells[i].Value.ToString());
                return true;
            }
        }
    }
    return false;
}

private void toolStripButton1_Click(object sender, EventArgs e)
{
    if (checkrow(dgvTimeTracker.CurrentRow) == true)
    {
        string cbtext = dgvTimeTracker.Rows[dgvTimeTracker.SelectedCells[0].RowIndex].Cells[1].Value.ToString();
        MessageBox.Show(cbtext);

        string[] newrow = new string[] { DateTime.Now.ToShortDateString(), cbtext, DateTime.Now.ToLongTimeString(), "", "", "" };
    }    
    else
    {
        MessageBox.Show("Error!");
    }    
}

如果我在新项目上运行此代码,它将完美运行。但是如果我在我的其他项目中运行它只会返回&#34;错误&#34;获取datagridview的组合框项{1}列的值时出现消息或null引用异常

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

如果看到“错误!”然后,这意味着checkrow正在返回false,这意味着该行中的每个单元格都不包含null或空字符串。如果您正在寻找“空”单元格,您是否应该测试DBNull.Value或者相反?如果您从数据库中检索包含NULL的数据,那么这就是您所获得的。