我在表单应用程序的组框内有一个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引用异常
任何人都可以帮助我吗?
答案 0 :(得分:0)
如果看到“错误!”然后,这意味着checkrow
正在返回false
,这意味着该行中的每个单元格都不包含null
或空字符串。如果您正在寻找“空”单元格,您是否应该测试DBNull.Value
或者相反?如果您从数据库中检索包含NULL的数据,那么这就是您所获得的。