protected override void Execute() { IModel mModel = new Model(); var postEditCompare = new FormMain(mModel); var skipWindow = new SkipSettingsWindow(); skipWindow.ShowDialog(); var reportWizard = new ReportWizard(); postEditCompare.InitializeReportWizard(reportWizard); if (skipWindow.CustomizeSettings) { reportWizard.IsFromProjectsViewCall = true; reportWizard.ShowDialog(); postEditCompare.SetPriceGroup(reportWizard); CreateReport(postEditCompare); } if (skipWindow.SkipSettings) { postEditCompare.SetPriceGroup(reportWizard); CreateReport(postEditCompare); } }
/// <inheritdoc/> protected override void Process(ReportWizard main) { // Стиль страницы Report.ReportUnit = ReportUnit.TenthsOfAMillimeter; Report.Landscape = Style.Landscape; Report.Margins = ConvertMargins(Style.PageMargins); // Заголовок ReportHeaderBand header = GetBand<ReportHeaderBand>(); XRLabel headerLabel = CreateLabel(header, main.Name); headerLabel.Font = Style.CaptionFont; headerLabel.Width = Current.Bounds.Width; // Размеры и позиция параметров int parameterCaptionWidth = 0; foreach (ReportWizardParameter parameter in main.Parameters) { if (parameter.VisibleInReportHeader) parameterCaptionWidth = Math.Max(parameterCaptionWidth, ConvertUnits(GetTextWidth(Style.ParameterFont, parameter.Caption + " : "))); } int parameterTop = headerLabel.Bottom + 1; // Параметры foreach (ReportWizardParameter parameter in main.Parameters) { // Параметр отчета, вводимый пользователем Parameter reportParameter = null; if (parameter.DataType != null) { reportParameter = new Parameter(); reportParameter.Name = parameter.Name; reportParameter.Type = parameter.DataType; reportParameter.Description = parameter.Caption; Report.Parameters.Add(reportParameter); } // Описание параметра if (parameter.VisibleInReportHeader && (reportParameter != null || !string.IsNullOrEmpty(parameter.DescriptionExpression))) { XRLabel parameterCaption = CreateLabel(header, parameter.Caption + " : "); parameterCaption.Font = Style.ParameterFont; parameterCaption.Left = 0; parameterCaption.Top = parameterTop; parameterCaption.Width = parameterCaptionWidth; XRLabel parameterDescription = CreateLabel(header, string.Empty); if (!string.IsNullOrEmpty(parameter.DescriptionExpression)) AddDataBinding(parameterDescription, CreateCalculatedBinding(parameter.DescriptionExpression)); else AddParameterBinding(parameterDescription, reportParameter); parameterDescription.Left = parameterCaptionWidth; parameterDescription.Top = parameterTop; parameterDescription.Width = Current.Bounds.Width - parameterCaptionWidth; parameterDescription.Font = Style.ParameterFont; parameterTop += parameterDescription.Height + 1; } } }
// Форма мастера отчетов private void ReportWizard_CustomizePopupWindowParams(object sender, CustomizePopupWindowParamsEventArgs e) { PredefinedReportWizard predefined = View.CurrentObject as PredefinedReportWizard; wizard = predefined != null ? predefined.Main : new ReportWizard(); style = null; objectSpace = Application.CreateObjectSpace(); e.View = Application.CreateDetailView(objectSpace, wizard); e.DialogController.AcceptAction.Execute += AcceptAction_Execute; e.DialogController.Actions.Add(OwnedReportStyle); }
private void reportsButton_Click(object sender, EventArgs e) { var window = new ReportWizard(_laps, _runners); window.ShowDialog(this); }
//private int subreportIndex = 0; /// <summary>Конструктор</summary> /// <param name="componentFactory">Фабрика компонентов отчета</param> /// <param name="typesInfo">Справочник типов</param> /// <param name="report">Конструируемый отчет</param> /// <param name="wizard">Мастер отчетов, определяющий конструкцию отчета</param> /// <param name="style">Стиль отчетов, определяющий внешний вид конструируемого отчета</param> public ReportBuilder(IComponentFactory componentFactory, ITypesInfo typesInfo, XtraReport report, ReportWizard wizard, ReportStyle style) : base(componentFactory, typesInfo, report, wizard, style) { }