|
|
@@ -1,7 +1,10 @@
|
|
|
-using DevExpress.Data;
|
|
|
+using Autofac;
|
|
|
+using DevExpress.Data;
|
|
|
using DevExpress.XtraEditors.Controls;
|
|
|
using DevExpress.XtraPrinting;
|
|
|
using DevExpress.XtraReports.UI;
|
|
|
+using GreenTree.Nachtragsmanagement.Core;
|
|
|
+using GreenTree.Nachtragsmanagement.Core.Authentication;
|
|
|
using System;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
@@ -37,7 +40,7 @@ namespace GreenTree.Nachtragsmanagement.Web.Extensions
|
|
|
public event CustomizeColumnTotalSummaryEventHandler CustomizeTotalColumnSummary;
|
|
|
public event CustomizeColumnGroupSummaryEventHandler CustomizeGroupColumnSummary;
|
|
|
|
|
|
- public XtraReport GenerateMVCReport(MVCxGridViewState gridViewState, object model)
|
|
|
+ public XtraReport GenerateMVCReport(MVCxGridViewState gridViewState, object model, string title)
|
|
|
{
|
|
|
report = new XtraReport
|
|
|
{
|
|
|
@@ -47,6 +50,8 @@ namespace GreenTree.Nachtragsmanagement.Web.Extensions
|
|
|
};
|
|
|
|
|
|
InitStyles();
|
|
|
+ InitReportTitle(title);
|
|
|
+ InitPageFooter();
|
|
|
InitDataSource(model);
|
|
|
InitDetailsAndPageHeader(gridViewState);
|
|
|
InitDetailReports(gridViewState);
|
|
|
@@ -60,6 +65,14 @@ namespace GreenTree.Nachtragsmanagement.Web.Extensions
|
|
|
|
|
|
private void InitStyles()
|
|
|
{
|
|
|
+ report.StyleSheet.Add(new XRControlStyle
|
|
|
+ {
|
|
|
+ Name = "Title",
|
|
|
+ Borders = DevExpress.XtraPrinting.BorderSide.None,
|
|
|
+ Font = new Font(report.Font.FontFamily, 24f, FontStyle.Regular),
|
|
|
+ ForeColor = Color.FromArgb(35, 133, 160)
|
|
|
+ });
|
|
|
+
|
|
|
report.StyleSheet.Add(new XRControlStyle
|
|
|
{
|
|
|
Name = "OddRow",
|
|
|
@@ -123,6 +136,66 @@ namespace GreenTree.Nachtragsmanagement.Web.Extensions
|
|
|
DevExpress.XtraPrinting.BorderSide.Left |
|
|
|
DevExpress.XtraPrinting.BorderSide.Right
|
|
|
});
|
|
|
+
|
|
|
+ report.StyleSheet.Add(new XRControlStyle
|
|
|
+ {
|
|
|
+ Name = "FooterRow",
|
|
|
+ Font = new Font(report.Font, FontStyle.Italic)
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void InitReportTitle(string title)
|
|
|
+ {
|
|
|
+ report.Bands.Add(new ReportHeaderBand
|
|
|
+ {
|
|
|
+ HeightF = 32f
|
|
|
+ });
|
|
|
+
|
|
|
+ report.Bands[BandKind.ReportHeader].Controls.Add(new XRLabel
|
|
|
+ {
|
|
|
+ Text = title,
|
|
|
+ StyleName = "Title",
|
|
|
+ WidthF = (report.PageWidth - (report.Margins.Left + report.Margins.Right))
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void InitPageFooter()
|
|
|
+ {
|
|
|
+ var userHelper = Singleton<IContainer>.Instance.Resolve<IUserHelper>();
|
|
|
+ var user = userHelper.FromCookies();
|
|
|
+
|
|
|
+ report.Bands.Add(new PageFooterBand
|
|
|
+ {
|
|
|
+ HeightF = 18f
|
|
|
+ });
|
|
|
+
|
|
|
+ var footerTable = new XRTable
|
|
|
+ {
|
|
|
+ WidthF = (report.PageWidth - (report.Margins.Left + report.Margins.Right)),
|
|
|
+ Borders = DevExpress.XtraPrinting.BorderSide.Top,
|
|
|
+ StyleName = "FooterRow"
|
|
|
+ };
|
|
|
+
|
|
|
+ var footerRow = new XRTableRow
|
|
|
+ {
|
|
|
+ Cells =
|
|
|
+ {
|
|
|
+ new XRTableCell
|
|
|
+ {
|
|
|
+ TextAlignment = TextAlignment.MiddleLeft,
|
|
|
+ Text = DateTime.Now.ToString("dd.MM.yyyy - HH:mm \"Uhr\"")
|
|
|
+ },
|
|
|
+ new XRTableCell
|
|
|
+ {
|
|
|
+ TextAlignment = TextAlignment.MiddleRight,
|
|
|
+ Text = String.Format("{0}, {1}", user.Lastname, user.Forename)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ footerTable.Rows.Add(footerRow);
|
|
|
+
|
|
|
+ report.Bands[BandKind.PageFooter].Controls.Add(footerTable);
|
|
|
}
|
|
|
|
|
|
private void InitDataSource(object model)
|
|
|
@@ -389,7 +462,7 @@ namespace GreenTree.Nachtragsmanagement.Web.Extensions
|
|
|
|
|
|
if (col == null) continue;
|
|
|
|
|
|
- if (!detailsInfo.Contains(col)) return;
|
|
|
+ if (!detailsInfo.Contains(col)) continue;
|
|
|
|
|
|
var label = new XRLabel
|
|
|
{
|