处理DataGridView中的空单元格

时间:2010-07-01 07:05:35

标签: c# datagridview

我想为DataGridView的某些单元格为null或为空时写一个条件。 例如,如果cells [1]不为null或为空,则必须运行一个方法并且... 我以某种方式编写它,但其中一些不起作用,其中一个工作,但它不适合我的问题。现在,在DataGridView中,empty和null是不同的。 此外,My DataGridView尚未绑定到数据库。 我怎么能以最好的方式做到这一点? 问候。

4 个答案:

答案 0 :(得分:5)

DataGridViewCell对象具有“Value”方法,该方法将callvalue作为对象返回,该值可以转换为string,然后将此字符串检查为null或为空。

string val = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value as string;
if(string.isNullorEmpty(val) ==false)
{
  // your method run.
}

答案 1 :(得分:0)

单元格值是一个对象。空单元格值为空。

DataTable / DataView在Empty时使用DbNull.Value。

长度= 0的字符串是String.Empty

您需要验证三个选项。

答案 2 :(得分:0)

如果您的列和行布局是固定的,那么您可以在datagrid的单元格验证事件中调用您的函数

void dataGridView2_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
           e.Cancel = false;
           if (e.RowIndex == 1 && e.ColumnIndex == 0)
            {
               if(string.IsNullorEmpty(e.FormattedValue.ToString())
                  // method call
            }
        }

答案 3 :(得分:0)

//just replace from Value to FormattedValue like that
string val = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].FormattedValue as string;
if(string.isNullorEmpty(val))
{
  // cell is empty
}
else
{
// cell is not empty
}