首页 新闻 搜索 专区 学院

datagridview中删除行后出现的问题

0
[待解决问题]

单击"删除信息"-----删除按钮代码

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()都试过了,也无法搞掉这个空行,神啊救救我吧

Jacky Che的主页 Jacky Che | 菜鸟二级 | 园豆:202
提问于:2014-06-09 13:31
< >
分享
所有回答(2)
0

你先遍历DataTable,存在空行就删掉,然后在存数据库

刘宏玺 | 园豆:14016 (专家六级) | 2014-06-09 13:36

我就是不想这么做啊,想知道为什么 DataGridViewRow row = dgvReport.CurrentRow;
dgvReport.Rows.Remove(row);之后里面会存在空行

支持(0) 反对(0) Jacky Che | 园豆:202 (菜鸟二级) | 2014-06-09 13:41

@Jacky Che: 没用过,你试试在databind()一下试试

支持(0) 反对(0) 刘宏玺 | 园豆:14016 (专家六级) | 2014-06-09 13:42

@刘宏玺: Thank u all the same

支持(0) 反对(0) Jacky Che | 园豆:202 (菜鸟二级) | 2014-06-09 13:46
0

你删除错了,你应该用 DataTable dt = (DataTable)dgvReport.DataSource; 中的 dt 来删除对应的行,因为有绑定,UI 就会自动更新。

Launcher | 园豆:45045 (高人七级) | 2014-06-09 15:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册