如何即时更新DATAGRIDVIEW数据?

ckao747 2010-05-04 09:04:00
就是显示出DATAGRIDVIEW数据后,直接修改,添加,删除数据在DGV里边,应该怎么实现?有点纳闷?求解,谢谢~
...全文
1046 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinlongma 2011-07-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ckao747 的回复:]
引用 3 楼 wuyq11 的回复:
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];


这个代码应该写……
[/Quote]

俺真想一砖拍死你
ckao747 2010-05-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];
[/Quote]

这个代码应该写在哪个事件里边?是DATAGRIDVIEW控件的ADDROW事件吗?试了不行
wuyq11 2010-05-04
  • 打赏
  • 举报
回复
DataSet ds = new DataSet();
SqlDataAdapter sda;

SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];
捷哥1999 2010-05-04
  • 打赏
  • 举报
回复
上面程序的这部分是更新的逻辑,程序用SqlCommandBuilder实现了自动生成更新逻辑:

sqlDsChanged = sqlDs.GetChanges();
if ((sqlDsChanged != null)) {
sqlDa.Update(sqlDs, "学生信息");
sqlDs.AcceptChanges();

if ((Op == OpType.Add)) {
MessageBox.Show("记录添加成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if ((Op == OpType.Update)) {
MessageBox.Show("记录更新成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

捷哥1999 2010-05-04
  • 打赏
  • 举报
回复
DataGridView控件本身在加载数据后,就会多出一行让你编辑呀!
例如数据表有3条记录,显示在DataGridView控件会有4行,第4行前面有*号,你编辑后,必须要编码实现更新。
修改、添加、删除都需要有,这是一个例子:


{
    SqlConnection sqlConn = new SqlConnection("data source=(local); initial catalog=JWInfo; integrated security=SSPI");
    SqlCommand selCmd = new SqlCommand("Select * from 学生信息", sqlConn);
   
    sqlDa = new SqlDataAdapter(selCmd);
    SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(sqlDa);
   
    sqlDa.Fill(sqlDs, "学生信息");
    DataGridView1.DataSource = sqlDs.Tables("学生信息");
    sqlDsChanged = sqlDs.GetChanges();
    if ((sqlDsChanged != null)) {
        sqlDa.Update(sqlDs, "学生信息");
        sqlDs.AcceptChanges();
       
        if ((Op == OpType.Add)) {
            MessageBox.Show("记录添加成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        else if ((Op == OpType.Update)) {
            MessageBox.Show("记录更新成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧