在我的项目中,有一个datagridview,如果没有数据并单击UPDATE按钮,我应该收到错误消息。这里,如果我直接点击更新按钮我收到错误消息,但如果我点击datagridview(即使datagridview中没有数据)并点击更新,我收到消息更新。请告诉我应该使用什么代码而不是(dataGridView2.SelectedCells.Count == 0)。 我正在使用的代码是:
private void btnUpdate_Click(object sender, EventArgs e)
{
if (dataGridView2.SelectedCells.Count == 0)
{
MessageBox.Show("There are no any records to update");
}
else
{
SqlConnection con = Helper.getconnection();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
con.Open();
cmd.CommandType = CommandType.Text;
string PrjName = txtPrjNmae.Text;
string Description = txtPrjdescription.Text;
DateTime Date = dateUpdate.Value;
dateUpdate.Format = DateTimePickerFormat.Custom;
dateUpdate.CustomFormat = "dd/MM/yy";
string Size = txtPrjSize.Text;
string Manager = txtPrjManager.Text;
cmd.CommandText = "Update Projects set Description='" + Description + "', DateStarted='" + Date + "',TeamSize='" + Size + "',Manager='" + Manager + "' where ProjectName= '" + PrjName + "' ";
MessageBox.Show("Project Details are updated");
dataGridView2.Update();
dataGridView2.Refresh();
cmd.ExecuteNonQuery();
con.Close();
}
BindData3();
}
答案 0 :(得分:1)
试试这个:
if (dataGridView2.RowCount == 0){
MessageBox.Show("There are no any records to update");
}
答案 1 :(得分:1)
尝试使用以下代码并查看其是否有效:
dataGridView2.RowCount == 0
答案 2 :(得分:1)
我认为这里的问题是您将AllowUserToAddRows
的{{1}}属性设置为DataGridView
。这样,true
底部总会有一个空行,因此DataGridView
将返回几乎为1(用于创建新条目的空行)。
有两种可能性摆脱这个问题:
RowCount
设置为false
AllowUserToAddRows
希望这有帮助。