2017-02-27 84 views
0

默认情况下,我有一个带有数据源的rpx文件。我想加载它并检查用户是否想要使用不同的数据源。我已经覆盖了SectionReport对象的数据源,并在之前执行读取器以将其发送给loadlayout方法。我是否需要使用文本框来映射字段,或者我是否缺少更改数据源的内容。如何覆盖在c#中的活动报告rpx文件的数据源?

回答

1

如果新数据源具有原始数据源的不同字段(列),那么您需要在报表的Fields集合中添加字段,并将TextBoxes的DataField属性更改为新字段以便显示新的数据。看看在“要使用未绑定的数据源”主题在下面的文档链接:http://arhelp.grapecity.com/webhelp/AR11/index.html#BindReportstoaDataSource.html

编辑: 您可以通过以下方式改变只是报告的数据源的连接字符串:

SectionReport rpt = new SectionReport(); 
XmlTextReader xtr = new XmlTextReader("../../Invoice1.rpx"); 
rpt.LoadLayout(xtr);    

var dataSource = rpt.DataSource as GrapeCity.ActiveReports.Data.OleDBDataSource; 
dataSource.ConnectionString = @"Provider = Microsoft.Jet.OLEDB.4.0; Data Source =C:\BILL.mdb; Persist Security Info = False"; 

rpt.Run(); 

viewer1.LoadDocument(rpt); 
+0

其他问题实际上我真正需要的是改变,只是连接字符串可以覆盖文件的连接字符串。 – UserEsp

相关问题