winform中DataGrid的数据更新原理(用WebService提供的DataSet),该如何解决
winform中DataGrid的数据更新原理(用WebService提供的DataSet)
我的项目还在用VS 2003做.使用Web Service得到一个DataSet,然后绑定到DataGrid上(是WinForm的DataGrid).一段时间后我需要刷新DataGrid的数据源.
我发现刷新数据源时如果直接从Web Service再次得到一个DataSet,将DataGrid的DataSource设为该DataSet,运行时会发生错误(具体是 "xxx数据行不属于yyy数据表 ",但实际上xxx数据行肯定是属于yyy数据表的),即使先将DataGrid的DataSource设为null也没有用(此时DataGrid会变空,新的数据集没有被绑定上去).
后来在 < <Windows Forms程序设计> > 上查到,象这种情况,需要将现有数据集清空,然后将新得到的数据集中的数据拷到现有数据集中即可,即:
dataSet1.Clear();
dataSet1.Merge(newDataSet);
我试了果然就可以了.
但是我实在是没理解这么做的道理,为什么直接用下面的代码不起作用,绑定会丢失呢
DataSet newDataSet = myWebService.GetDataSet();
dataGrid1.SetDataBinding(newDataSet, "tablename ");
请知道的xd给我说说啊!
谢谢!!!
流汁D豆沙包
11 years, 4 months ago