从DataGrid.DataSource提取DataSet时遇到的问题
...
Dim DaRpt As New OdbcDataAdapter(strCmd, myConn)
Dim DsRpt As New DataSet
DsRpt.Clear()
DaRpt.Fill(DsRpt,"test")
...
Datagrid1.SetDataBinding(Ds, "test")
请问各位,我如何才能获得从Datagrid1.DataSource中获得DataSet?
PS.
我尝试绑定时使用Datagrid1.DataSource=Ds,
通过Ds = CType(Datagrid1.DataSource, DataSet)能获得所要的Dataset;
但绑定到表(即使用Datagrid1.DataSource=Ds.Table("test")),
我就不知道如何获取DataSet了。
问题点数:20、回复次数:6Top
1 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-03-01 16:02:26 得分 0
Ds = CType(Datagrid1.DataSource, DataTable).DataSetTop
2 楼dongshanyu(sean)回复于 2006-03-01 17:37:09 得分 0
谢谢eddie005,
Ds = CType(Datagrid1.DataSource, DataTable).DataSet
刚才我试过,还不行Top
3 楼peilianhai(网侠()回复于 2006-03-03 13:14:52 得分 0
Datagrid1.DataSource=Ds.Tables(0)
Ds = CType(Datagrid1.DataSource, DataTable).DataSetTop
4 楼exboy(kuku)回复于 2006-03-03 13:25:35 得分 0
使用 CType(Datagrid1.DataSource, DataTable).DataSet 应该是没有问题的。Top
5 楼lye2000000_super(我自横刀香甜笑)回复于 2006-03-03 14:56:41 得分 0
CType(Datagrid1.DataSource, DataTable).DataSet
或者
DirectCast(Datagrid1.DataSource, DataTable).DataSet
应该没有问题的
Top
6 楼dongshanyu(sean)回复于 2006-03-07 13:12:25 得分 0
Datagrid1.DataSource=DsRpt.Tables("Test")
...
方式1:
Ds=CType(Datagrid1.DataSource, DataTable).DataSet.Copy
方法2:
mDsRpt=DsRpt.Copy
Ds=mDsRpt
我从Datagrid中获取DataSet的目的是赋给CrystalReportViewer的DataSource,
采用方式2,报表可正常显示;但采用方式1,报表显示如下错误:
Error in File D:\project\bin\rpt_test.rpt:
Query Engine Error
我不知道上面两种所得结果有和不同,望指教.
PS.
1.我跟踪查看过方式1得到的Dataset,其Ds.Tables(0).TableName="test"
2.报表对TableName有限制,为"test"(是采用ado.xml的方式创建报表的)
Top




