如何从文件加载devexpress xtrareport并连接数据
在我的项目中,我对winforms使用devexpress xtrareports v.15 我有发票报告。它内部有一些文本字段和一个列表。我将数据连接到报表中的源:如何从文件加载devexpress xtrareport并连接数据,devexpress,xtrareport,Devexpress,Xtrareport,在我的项目中,我对winforms使用devexpress xtrareports v.15 我有发票报告。它内部有一些文本字段和一个列表。我将数据连接到报表中的源: public InvoiceReport(InvoiceCommonData icd, List<ReportPosition> positions) { InitializeComponent(); this.ReportComm
public InvoiceReport(InvoiceCommonData icd, List<ReportPosition> positions)
{
InitializeComponent();
this.ReportCommonDataSource.DataSource = icd;
this.positionsList.DataSource = positions;
}
打印报告时,我看到公共数据(icd
)已绑定并已打印,但列表(位置
)未绑定,它是空表,而不是实际数据。
问题是如何从文件中加载xtrareport布局并保存所有数据连接 但我认为您可以尝试替换默认repx文件到主连接的连接,因为当我们从报表设计器创建repx文件时,我们将连接设置为默认,当我们尝试使用查看器文件预览报表时,将repx另存为默认,获取默认保存连接,因此尝试替换所需sql连接的连接 如
if(((DevExpress.DataAccess.Sql.SqlDataSource)devxReport.DataSource).ConnectionParameters!=null)//如果报表中存在连接,则更改
{
((DevExpress.DataAccess.Sql.SqlDataSource)devxReport.DataSource).ConnectionParameters=null;
}
((DevExpress.DataAccess.Sql.SqlDataSource)devxReport.DataSource).连接参数=
新建DevExpress.DataAccess.ConnectionParameters.CustomStringConnectionParameters(sqlConnectionString)代码>但我认为您可以尝试替换默认repx文件到主连接的连接,因为当我们从报表设计器创建repx文件时,我们将连接和repx另存为默认值,当我们尝试使用查看器文件预览报表时,获取默认保存连接,因此尝试替换所需sql连接的连接
如if(((DevExpress.DataAccess.Sql.SqlDataSource)devxReport.DataSource).ConnectionParameters!=null)//如果报表中存在连接,则更改
{
((DevExpress.DataAccess.Sql.SqlDataSource)devxReport.DataSource).ConnectionParameters=null;
}
((DevExpress.DataAccess.Sql.SqlDataSource)devxReport.DataSource).连接参数=
新建DevExpress.DataAccess.ConnectionParameters.CustomStringConnectionParameters(sqlConnectionString)代码>Lalit Sharma感谢您的回答。我的问题是,当我从文件中加载布局时,报告不显示列表。当我不加载布局时,它会正常工作。谢谢你的回答。我的问题是,当我从文件中加载布局时,报告不显示列表。当我不加载布局时,它会正常工作。
InvoiceReport report = new InvoiceReport(model.GetCommonData(), model.GetPositions());
var filename = "D://InvoiceReport.repx";
report.LoadLayout(filename);