コード例 #1
0
        /// <summary>
        /// read the values from the controls and give them to the calculator
        /// </summary>
        /// <param name="ACalculator"></param>
        /// <param name="AReportAction"></param>
        public void ReadControls(TRptCalculator ACalculator, TReportActionEnum AReportAction)
        {
            String[] OrderByArray = new string[NUMBER_SORTBY];

            for (Int32 counter = 0; counter <= NUMBER_SORTBY - 1; counter += 1)
            {
                OrderByArray[counter] = FSortByComboboxes[counter].GetSelectedString();

                // MessageBox.Show('Sort by '+Counter.ToString+': '+FSortByComboboxes[counter].GetSelectedString());
                // have to encode the number of "order by" in the variable name instead of the column,
                // otherwise the meaning would be changed when columns are switched or deleted
                ACalculator.AddParameter("orderby" + counter.ToString(), OrderByArray[counter]);
            }

            String OrderByReadable = "";

            for (Int32 counter = 0; counter <= NUMBER_SORTBY - 1; counter += 1)
            {
                if (OrderByArray[counter].Length != 0)
                {
                    if (OrderByReadable.Length > 0)
                    {
                        OrderByReadable = OrderByReadable + ", ";
                    }

                    OrderByReadable = OrderByReadable + OrderByArray[counter];
                }
            }

            ACalculator.AddParameter("param_sortby_readable", OrderByReadable);
            ACalculator.SetupSorting();
        }