所描述的问题出现是正常的.第一中操作能够正常执行是因为你操作的是datagrid对应的数据源,那么能够引起更新操作,而第二中直接直接操作字段不会引起更新的操作;
修改也很简单,你需要将tab2操作字段的代码更新成对与datagrid的数据源操作就可以了
修改也很简单,你需要将tab2操作字段的代码更新成对与datagrid的数据源操作就可以了
解决方案 »
- c# mediaplayer 播放问题
- C#调用非托管DLL,当返回类型和参数为SOCKET应该怎样处理
- 请问如何确定字符串是汉字
- 为什么我一加上Provider=MSDAORA 就运行不了
- 急!急!急!用带参数的存储过程写一个登录页面!在线等!!!
- 我想让listbox中,用键盘选中某行时,能让鼠标也自动移到选中的这行上。如何实现?
- 捕获
- 怎么样在查询数据时查到信息时产生报警?
- DataTable如何删除某一行之后的行
- 如何用C#,实现xp下,自动关机??求助
- ROSE,UML,ERWIN这些是什么呀???
- 请问:数据库问题。有一个表dt和一个datagrid控件已关联上(dataGrid.DataSource = ds.dt;),1、想在grid里添加一行新纪录,2、更新表的
oleDbDataAdapter1.Fill(dataSet11);
bmCustomers=this.BindingContext[dataSet11,"customer"];
.....
private void DataGrid1_CurrentCellChanged(object sender, System.EventArgs e)
{
bmCustomers.Position=DataGrid1.CurrentCell.RowNumber;
}每当选定不同的ROW,textbox中的值是随之自动改变的。
就是说每当改变某个textbox的值,照理说dataSet11中那Row的对应字段值也变的(因为textbox是绑定的)
可问题就是当textbox改变后,按“保存”,可dataSet11却没有相应的做出变动?
这是为什么?
能说具体点吗?
你把绑定看的太厉害了,好像绑定一次就什么都是自动的了,不是这样的,你的这个想法需要实现的话,必须在修改textbox后,重新绑定一次,才会更新的;再有,你的数据表绑定是否正确啊,该不会你所需要绑定的字段没有被绑定吧!!
还不行的话,贴出绑定的详细代码!!
你只要在调用数据适配器的update方法前调用数据源的endedit方法即可,
至于TEXTBOX绑定后不能直接通过修改到数据源中这一点我也不明白,
你知道了要跟大家一起分享一下。
dataSet11.Tables["customer"].Rows[DataGrid1.CurrentCell.RowNumber].BeginEdit();
然后保存时
dataSet11.Tables["customer"].Rows[DataGrid1.CurrentCell.RowNumber].EndEdit();
dataSet11.AcceptChanges();
然后保存,发现触发了dataSet.HasChanges事件,但刚才在tab2中的刚改过的某个textbox字段的text值又变回了空白。并且改的东东实际并没有被保存。
怎么回事???
如果只在tab1中按toolsbar上的“保存”就不能保存成功(虽然在textbox中的值是最新的)(以上现象是没有用beginedit,endedit状态下出现的,如用了,会出现上楼贴子中的情况)