当单元格为空时,我希望显示消息,否则运行进程

本文关键字:消息 进程 运行 显示 我希望 单元格 | 更新日期: 2023-09-27 18:03:31

private void dgvComp_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {
        if (dgvComp.Rows[dgvComp.CurrentRow.Index].Cells["EmplId"].ToString() != "")
        {
            if (dgvComp.Columns[e.ColumnIndex].Name == "EmplId")
            {
                {
                    DataTable dt = new DataTable();
                    string auto = dgvComp.Rows[e.RowIndex].Cells["EmplId"].EditedFormattedValue.ToString();
                    dt = dataAcc.rtrvData("empl_Name,empl_Id,desg_Name", "dbo.Empldmgrphcs INNER JOIN  dbo.Designation ON dbo.Empldmgrphcs.desg_Id = dbo.Designation.desg_Id ", "empl_EmpId='" + auto + "'");
                    dgvComp.Rows[e.RowIndex].Cells["dgvname"].Value = dt.Rows[0][0].ToString();
                    dgvComp.Rows[e.RowIndex].Cells["empID"].Value = dt.Rows[0][1].ToString();
                    dgvComp.Rows[e.RowIndex].Cells["dgvdesi"].Value = dt.Rows[0][2].ToString();
                }
            }
        }
    }

上面的代码是我用来填充DataGridView的,但是当单元格为空时,我得到错误。

如何处理有一个空单元格的条件?

当单元格为空时,我希望显示消息,否则运行进程

显示消息框并设置:e.Cancel = true;

private void dgvComp_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
   if (dgvComp.Rows[dgvComp.CurrentRow.Index].Cells["EmplId"].ToString() != "")
   {
      if (dgvComp.Columns[e.ColumnIndex].Name == "EmplId")
      {
         {
            DataTable dt = new DataTable();
            string auto = dgvComp.Rows[e.RowIndex].Cells["EmplId"].EditedFormattedValue.ToString();
            dt = dataAcc.rtrvData("empl_Name,empl_Id,desg_Name", "dbo.Empldmgrphcs INNER JOIN  dbo.Designation ON dbo.Empldmgrphcs.desg_Id = dbo.Designation.desg_Id ", "empl_EmpId='" + auto + "'");
            if(dt.Rows.Count > 0)
            {
               dgvComp.Rows[e.RowIndex].Cells["dgvname"].Value = dt.Rows[0][0].ToString();
               dgvComp.Rows[e.RowIndex].Cells["empID"].Value = dt.Rows[0][1].ToString();
               dgvComp.Rows[e.RowIndex].Cells["dgvdesi"].Value = dt.Rows[0][2].ToString();
            }
            else
            {
                e.Cancel = true;
                MessageBox.Show("Validation Fail");
            }
         }
      }
   }
}