/// <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(); }