当单元格为空时,我希望显示消息,否则运行进程
本文关键字:消息 进程 运行 显示 我希望 单元格 | 更新日期: 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");
}
}
}
}
}