2014-08-27 2 views

답변

0

OnBeforePrint 메서드를 오버라이드하고 XtraReportBase.Controls 속성 트리를 통해 XRSubreport을 찾습니다. 내가 거기에 XML을 설정하는 방법

protected override void OnBeforePrint(PrintEventArgs e) 
{ 
    base.OnBeforePrint(e); 

    //Get your xml here 
    var dataSet = new DataSet(); 

    using (var reader = new StringReader(xml)) 
     dataSet.ReadXml(reader); 

    SetSubReportXML(this, dataSet); 
} 

private void SetSubReportXML(XRControl xrControl, DataSet dataSet) 
{ 
    foreach (XRControl xrControlChild in xrControl.Controls) 
    { 
     var subReport = xrControlChild as XRSubreport; 

     if (subReport != null) 
     { 
      //Set your xml here 
      subReport.ReportSource.DataSource = dataSet; 
      subReport.ReportSource.DataMember = this.DataMember; 

      SetSubReportXML(subReport.ReportSource, dataSet); 
     } 

     SetSubReportXML(xrControlChild, dataSet); 
    } 
} 
+0

: 바와 같이 here 당신은 DataSet하고 DataSet.ReadXml 방법을 사용할 수 있습니다. 예를 들어 주시겠습니까? – hkaraoglu

+0

@ Revenge94 달성하려는 목표는 무엇입니까? – nempoBu4

+0

XML 소스 코드를 서브 리포트 소스에 넣으려고합니다. – hkaraoglu