注: 論理ページが複数ページに十分な幅がなく、Infragistics.Windows.Reporting.ReportSettings.HorizontalPaginationMode プロパティが「Scale」に設定される場合、このプロパティは 1 を返します。
'Define an Event Handler Public Sub WritePage(ByVal sender As Object, ByVal e As PrintProgressEventArgs) Me.Label1.Content = reportObj.LogicalPageNumber.ToString() + "." + reportObj.LogicalPagePartNumber.ToString() End Sub Private Sub ShowLogicalPageNimber() ' 1. Create Report object Dim reportObj As Report = New Report() ' 2. Create EmbeddedVisualReportSection section. ' Put the grid you want to print as a parameter of section's constructor Dim section As EmbeddedVisualReportSection = New EmbeddedVisualReportSection(XamDataGrid1) ' 3. Add created section to report's section collection reportObj.Sections.Add(section) ' Optional. If you have progress indicator set its Report property to created report progressInfo.Report = reportObj ' 4. Add delegate that calculates LogicalPageNumber AddHandler reportObj.PrintProgress, AddressOf Me.WritePage ' 5. Call print method reportObj.Print(True, False) End Sub
private void ShowLogicalPageNimber() { // 1. Create Report object Report reportObj = new Report(); // 2. Create EmbeddedVisualReportSection section. // Put the grid you want to print as a parameter of section's constructor EmbeddedVisualReportSection section = new EmbeddedVisualReportSection(XamDataGrid1); // 3. Add created section to report's section collection reportObj.Sections.Add(section); // Optional. If you have progress indicator set its Report property to created report progressInfo.Report = reportObj; // 4. Add delegate that calculates LogicalPageNumber reportObj.PrintProgress += delegate(object sender, PrintProgressEventArgs e) { Label1.Content = reportObj.LogicalPageNumber.ToString() + "." + reportObj.LogicalPagePartNumber.ToString(); }; // 5. Call print method reportObj.Print(true, false); }