我要实现的功能的功能大致如下:datagrid(winform)和数据源绑定后,当鼠标点中某行时,相关信息可以显示在如textbox中,一个数据字段对应一个textbox,当修改textbox内容,数据库和datagrid都能更新。现在的问题是,数据库到是更新了,但是datagrid上却没有改变,是否还需要加什么语句?
谢谢datagrid绑定到dataset:
dgdPeople.SetDataBinding(People,"People");//dgdPeople为datagrid对象
BindingManagerBase bm = dgdPeople.BindingContext[dgdPeople.DataSource, dgdPeople.DataMember];点击修改按钮时的代码如下:
DataRow curClassCosTeaRow = ((DataRowView)bm.Current).Row;
curClassCosTeaRow.BeginEdit();
curClassCosTeaRow["NAME"] = NAME;//该NAME即从textbox中取得的值
curClassCosTeaRow.EndEdit();
dgdPeople.SetDataBinding(People,"People");
DoUpdate();//该方法用于更新数据库
谢谢datagrid绑定到dataset:
dgdPeople.SetDataBinding(People,"People");//dgdPeople为datagrid对象
BindingManagerBase bm = dgdPeople.BindingContext[dgdPeople.DataSource, dgdPeople.DataMember];点击修改按钮时的代码如下:
DataRow curClassCosTeaRow = ((DataRowView)bm.Current).Row;
curClassCosTeaRow.BeginEdit();
curClassCosTeaRow["NAME"] = NAME;//该NAME即从textbox中取得的值
curClassCosTeaRow.EndEdit();
dgdPeople.SetDataBinding(People,"People");
DoUpdate();//该方法用于更新数据库
解决方案 »
- .net导出内容至werd异常
- 求正则表达试
- 多线程读出一大数组中的值,如何让它不重复
- DataGridView 编程方式得到 列的宽
- 我想用C#编写一个自动获取VSS上文件的程序,请教各位,等待中....
- 问你个问题啊 在不在 在java 中 是用 List list = new Array () list.add 这样来实现数组输出的 那在C# 中该怎么写?
- 异常处理的理解
- 请问我的dataRow里为什么是空呢?
- Pos机上运行.Net的配置要求!!
- vs.net beta1 集成的那个visual foxpro 7.0是个什么版本啊,和一般版本有什么区别?
- datagrid显示不出绑定的数据
- 如何控制只创建一个窗体的实例,而不是反复的创建相同的实例
datagrid.datasource = 更新后的数据库
datagrid.binding();
然后绑定的数据集也随着更新
然后才是数据库更新吧……
也调用了acceptchanges的。现放出较完整的代码,请各位指点。谢谢
private void btnEdit_Click(object sender, System.EventArgs e)//"修改"按钮的事件
{
bm = (CurrencyManager)dgdPeople.BindingContext[dgdPeople.DataSource,dgdPeople.DataMember];
if(bm.Count!=0)
{
DataRow curPeopleRow = ((DataRowView)bm.Current).Row;
.....
curPeopleRow.BeginEdit();
curPeopleRow ["NAME"] = NAME;//该NAME即从textbox中取得的值
curPeopleRow.EndEdit();
dgdPeople.SetDataBinding(People,"People");
bm.Refresh();
}
} private void btnDoUpdate_Click(object sender, System.EventArgs e)//更新按钮的事件 //People为dataset,与datagrid进行了绑定
DataSet changedDataSet = People.GetChanges(DataRowState.Added | DataRowState.Modified | DataRowState.Deleted);
..//更新数据库
People.AcceptChanges();
}