예제 #1
0
        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);
 }
예제 #4
0
        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)
 {
 }