2012-03-14 329 views
5

Tengo una tabla de datos con más de 300 filas. Quiero que cada página presente solo 10 filas. Quiero forzar que el xtrareport se rompa después de 10 filas.DEVEXPRESS - xtrareport - salto de página

¿Alguna idea de cómo se hace esto?

Respuesta

4

Puede forzar un salto de página en ciertas condiciones. This page tiene un ejemplo en la parte inferior.

Hola Cary,

para realizar esta tarea puede agregar una banda PieDelGrupo y establecer el GroupFooter.PageBreak a AfterBand. o ponga un control XRPageBreak, maneje Detail.BeforePrint y ajuste la visibilidad de XRPageBreak según lo necesite. Para obtener la fila de procesamiento, necesita usar el método XtraReport.GetCurrentRow(). Pruebe esta solución y déjenos saber los resultados.

Gracias,
Andrew

+1

simple y elegante. gracias. – Fares

5

que necesitan para crear una fusión Repport.

  • El primer paso es crear una Repport principal.
  • A continuación, cree un segundo Repport cada 10 filas.
  • Y agregue este segundo Repport en el Repport principal.

aquí es un ejemplo:

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();    

    } 
Cuestiones relacionadas