Devexpress 如何将子报表的xml代码放入xtrareport DevXpress中?

Devexpress 如何将子报表的xml代码放入xtrareport DevXpress中?,devexpress,xtrareport,Devexpress,Xtrareport,我创建了一个主报告文件。然后我创建了子报告文件。是否有方法将子报表文件的xml代码作为报表源?重写OnBeforePrint方法,并通过属性树查找XRSubreport。如上所述,您可以使用DataSet及其DataSet.ReadXml方法: 打印前受保护的覆盖无效(PrintEventArgs e) { 打印前的基础(e); //在这里获取xml var数据集=新数据集(); 使用(var reader=newstringreader(xml)) ReadXml(reader); SetSu

我创建了一个主报告文件。然后我创建了子报告文件。是否有方法将子报表文件的xml代码作为报表源?

重写
OnBeforePrint
方法,并通过属性树查找
XRSubreport
。如上所述,您可以使用
DataSet
及其
DataSet.ReadXml
方法:

打印前受保护的覆盖无效(PrintEventArgs e)
{
打印前的基础(e);
//在这里获取xml
var数据集=新数据集();
使用(var reader=newstringreader(xml))
ReadXml(reader);
SetSubReportXML(此为数据集);
}
私有void SetSubReportXML(XRControl XRControl,数据集)
{
foreach(XRControl.Controls中的XRControl xrControlChild)
{
var subReport=xrControlChild作为XRSubreport;
if(子报表!=null)
{
//在这里设置xml
subReport.ReportSource.DataSource=数据集;
subReport.ReportSource.DataMember=this.DataMember;
SetSubReportXML(subReport.ReportSource,数据集);
}
SetSubReportXML(xrControlChild,数据集);
}
}

如何在那里设置xml。你能举个例子吗?@Revenge94你想实现什么?@Revenge94你可以使用
子报表.ReportSource.XmlDataPath
子报表.ReportSource.DataMember
属性。我必须把xml代码放在路径之外。该方法在Telerik报告D.和Crystal报告中可用。但在Devexpress中不可用。@Revenge94悲伤,但真实。使用
DataSet
类及其
DataSet.ReadXml
方法。