我有带有子报告的报告。其中一部分使用的是OBDC数据库类型。
我想使用新的连接参数将所有子报表设置为OLE DB
我已经尝试了以下方法,但据我所知这还不够。

for (int i = 0; i <= rd.DataSourceConnections.Count - 1; i++)
{
  rd.DataSourceConnections[i].SetConnection(logonProps["Data Source"].ToString(),
                                                          logonProps["Initial Catalog"].ToString(),
                                                          true);
 }
 for (int i = 0; i <= rd.Subreports.Count - 1; i++)
 {
   for (int x = 0; x <= rd.Subreports[i].DataSourceConnections.Count - 1; x++)
                {
                    rd.Subreports[i].DataSourceConnections[x].SetConnection(logonProps["Data Source"].ToString(),
                                                                            logonProps["Initial Catalog"].ToString(),
                                                                            true);
                }
            }


我应该设置什么属性来更改数据库类型?

最佳答案

我没有回答您的问题,但我认为您想从已知数据源创建报告。
如果为true,则可以将数据读取到c#数据源(如DataTable或List)中并将其设置为子报表的数据源

rptMain.Subreport[0].SetDatasource(_dataTable);

关于c# - 在运行时在Crystal Reports中从odbc切换到oledb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2012336/

10-13 06:23