コード例 #1
0
        /// <summary>
        /// Reads the selected values from the controls,
        /// and stores them into the parameter system of FCalculator
        ///
        /// </summary>
        /// <param name="ACalculator"></param>
        /// <param name="AReportAction"></param>
        /// <returns>void</returns>
        public void ReadControls(TRptCalculator ACalculator, TReportActionEnum AReportAction)
        {
            System.Int32 MaxDisplayColumns;

            MaxDisplayColumns = TUC_ColumnHelper.ReadControls(ref FColumnParameters, ref ACalculator);

            FPetraUtilsObject.FMaxDisplayColumns = MaxDisplayColumns;

            for (int Counter = 0; Counter <= FColumnParameters.Get("MaxDisplayColumns").ToInt() - 1; Counter += 1)
            {
                String SelectedLedgers = FColumnParameters.Get("param_selected_ledgers", Counter).ToString(false);

                if (SelectedLedgers.Length != 0)
                {
                    ACalculator.AddColumnFunctionLedgers(Counter, "add",
                        StringHelper.StrSplit(SelectedLedgers, ","),
                        FColumnParameters.Get("param_calculation", Counter).ToString(), FColumnParameters.Get("param_ytd", Counter).ToBool());
                }
            }

            // set the global param_ytd; that is needed for formatting the header of some reports
            String ytdMixed = "";

            for (int Counter = 0; Counter <= FColumnParameters.Get("MaxDisplayColumns").ToInt() - 1; ++Counter)
            {
                TVariant ParamYtd = FColumnParameters.Get("param_ytd", Counter);

                if (!ParamYtd.IsZeroOrNull())
                {
                    if (ytdMixed.Length == 0)
                    {
                        ytdMixed = ParamYtd.ToString();
                    }

                    if (ParamYtd.ToString() != ytdMixed)
                    {
                        ytdMixed = "mixed";
                    }
                }
            }

            if (ytdMixed.Length != 0)
            {
                ACalculator.AddParameter("param_ytd", ytdMixed);
            }
        }