Пример 3. Печать названия месяца вместо номера
В предыдущем примере в матрице печатались номера месяцев. Это происходило потому, что в источнике данных поле Month
содержит номер месяца, а не его название. Чтобы напечатать название месяца, сделайте следующее:
- выберите ячейку, в которой печатается номер месяца. В нашем примере это ячейка с именем Cell8;
- в окне "Свойства" нажмите кнопку
и сделайте двойной щелчок на событии
BeforePrint
; - FastReport добавит пустой обработчик события в скрипт отчета. Напишите следующий код:
private void Cell8_BeforePrint(object sender, EventArgs e)
{
string[] monthNames = new string[] {
"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь" };
// Cell8 - это ячейка, которая печатает номер месяца.
// Cell8.Value - это значение, которое печатается в ячейке (номер месяца).
// Это значение типа System.Object, поэтому его надо привести к int
Cell8.Text = monthNames[(int)Cell8.Value - 1];
}
Если запустить отчет на выполнение, вы увидите следующий результат: