单击"删除信息"-----删除按钮代码
private void btnDel_Click(object sender, EventArgs e)
{
if (dgvReport.Rows.Count == 0)
{
MessageBox.Show("没有信息可以删除!","提 示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
DataGridViewRow row = dgvReport.CurrentRow;
dgvReport.Rows.Remove(row);
}
再单击“保存信息”------保存信息按钮代码
private void btnSave_Click(object sender, EventArgs e)
{
try
{
if (MessageBox.Show("您确定要保存此信息?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.OK)
{
DataTable dt = (DataTable)dgvReport.DataSource;//此处查看VS中显示下面如图所示
//把dt存入到数据库中代码省略。。。
}
}
catch (Exception ex)
{
ErrorLog.WriteLog(ex);
MessageBox.Show("信息保存失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
注:存入数据库的值不该有空行的,如何消除这个空行
单击“删除信息”按钮后的界面----这个是没问题的,但是程序中的就会在原来被删除行的位置留下一个空行,Update()和Refresh()都试过了,也无法搞掉这个空行,神啊救救我吧
你先遍历DataTable,存在空行就删掉,然后在存数据库
我就是不想这么做啊,想知道为什么 DataGridViewRow row = dgvReport.CurrentRow;
dgvReport.Rows.Remove(row);之后里面会存在空行
@Jacky Che: 没用过,你试试在databind()一下试试
@刘宏玺: Thank u all the same
你删除错了,你应该用 DataTable dt = (DataTable)dgvReport.DataSource; 中的 dt 来删除对应的行,因为有绑定,UI 就会自动更新。