私は300以上の行を持つデータテーブルを持っています。 各ページに10行だけを表示したい。 xtrareportを強制的に10行後に分割したいとします。DEVEXPRESS - xtrareport - 改ページ
これはどのように行われますか?
私は300以上の行を持つデータテーブルを持っています。 各ページに10行だけを表示したい。 xtrareportを強制的に10行後に分割したいとします。DEVEXPRESS - xtrareport - 改ページ
これはどのように行われますか?
特定の条件で改ページを強制できます。 This pageには下部に例があります。
こんにちはケーリー、
あなたはGroupFooterバンドを追加し、AfterBandにGroupFooter.PageBreakを設定するか、このタスクを達成するために。 、またはXRPageBreakコントロールを配置し、Detail.BeforePrintを処理し、必要に応じてXRPageBreakの可視性を調整します。 処理行を取得するには、XtraReport.GetCurrentRow()メソッドを使用する必要があります。 このソリューションを試してみて、結果をお知らせください。あなたはRepportのマージを作成する必要が
おかげで、
アンドリュー
。
例です。
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();
}
シンプルでエレガント。ありがとうございました。 – Fares