2012-03-14 12 views

risposta

4

È possibile forzare un'interruzione di pagina in determinate condizioni. This page ha un esempio in basso.

Hi Cary,

per eseguire questa operazione è possibile aggiungere una band GroupFooter e impostare il GroupFooter.PageBreak a dopo Band. oppure inserisci un controllo XRPageBreak, gestisci Detail.BeforePrint e regola la visibilità di XRPageBreak di cui hai bisogno. Per ottenere la riga di elaborazione è necessario utilizzare il metodo XtraReport.GetCurrentRow(). Prova questa soluzione e comunicaci i risultati.

Grazie,
Andrew

+1

semplice ed elegante. grazie. – Fares

5

è necessario creare una fusione repport.

  • Il primo passo è creare un Repport principale.
  • Quindi, creare un secondo Repport ogni 10 righe.
  • E aggiungere questo secondo Repport nel Repport principale.

Ecco un esempio:

private void printInvoicesButton_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) 
    { 
     int[] selection = this.ordersGridView.GetSelectedRows(); 
     XtraReport reportMerge = new XtraReport(); 
     reportMerge.CreateDocument(); 

     IList<XtraReport> reportList = new List<XtraReport>(); 

     // Create a report. 
     //invoiceReport report = new invoiceReport(); 

     for (int j = 0; j < selection.Length; j++) 
     { 


      XtraReport report = new XtraReport(); 
      string filePath = @"Reports/invoiceReport1.repx"; 
      report.LoadLayout(filePath); 


      InvoiceData invoice = new InvoiceData(); 

      for (int i = 0; i < DataRepository.Orders.Orders.Count; i++) 
      { 
       if (
        ordersGridView.GetRowCellValue(selection[j], "InvoiceCode").Equals(
         DataRepository.Orders.Orders[i].InvoiceCode)) 
       { 
        BindingSource dataSource = new BindingSource(); 

        invoice = InvoiceData.AdaptFrom(DataRepository.Orders.Orders[i], DataRepository.Orders, 
                DataRepository.Products.Products, 
                DataRepository.ProductOptionMaster, 
                DataRepository.ProductOptionDataSet, 
                DataRepository.CustomerShippingAddresses, 
                DataRepository.Customers.UserMaster, 
                DataRepository.AttributesData.Product_Attributes); 

        dataSource.Add(invoice); 

        report.DataSource = dataSource; 
        //report.ShowPreview(); 
        report.CreateDocument(); 

       } 
      } 
      reportList.Add(report); 
     } 

     for(int i=0;i<reportList.Count;i++) 
     { 
      reportMerge.Pages.AddRange(reportList[i].Pages); 
     } 

     // Show the report's preview. 
     reportMerge.ShowPreviewDialog();    

    } 
Problemi correlati