Как сделать лотерейные билеты с помощью FastReport .NET

23.08.2017

Допустим, вы решили провести лотерею в офисе и у вас есть только FastReport.Net под рукой. Нужно создать два набора билетов с уникальными номерами. Первый набор для пользователей, второй – для лототрона.

Мы будем генерировать уникальные числа для лотереи в скрипте отчета и использовать список этих чисел как источник данных. Приступим.

Запускаем дизайнер отчета. Сейчас у нас еще нет данных для отчета. Переходим на вкладку Код (Code).

Я сделал список номеров глобальным:

1
private List<int> num = new List<int>();

Создаем метод генерации уникальных чисел:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private void RandomShaffle()
 {
 const int n = 20; //Серия 20 билетов
 Random r = new Random(10); 
 int curnumber = 0;
 for(int i = 0; i < n ; i ++)
 {
 curnumber = r.Next(100000, 999999); //Генерируем число в указанном диапазоне 
 if (!num.Contains(curnumber)) //Проверяем список номеров на совпадение с текущим
 num.Add(curnumber); //Добавляем в список
 else
 i--; //Откатываемся на итерацию назад
 }
 }
 

Мы указываем количество билетов n в партии. А также диапазон, в котором генерировать число. Я хочу шестизначные числа, поэтому указал диапазон от 100000 до 999999.

Теперь, выберите в инспекторе свойств объект Report:

 

Для него создаем событие ReportStart:

 

В обработчике события мы генерируем список чисел и регистрируем его в отчете как источник данных.

1
2
3
4
5
 private void _StartReport(object sender, EventArgs e)
 {
 RandomShaffle();
 Report.RegisterData(num, "Numbers");
 }

Пришло время создать шаблон отчета. Сейчас отчет еще ничего не знает об источнике данных, который мы ему готовим. Давайте запустим отчет на выполнение как есть. Конечно, мы получим пустую страницу. Возвращаемся к редактированию страницы. Теперь мы можем выбрать источник данных:

 

Создаем простой шаблон с двумя билетами на бэнде данные:

Запускаем отчет:

И видим список билетов. Осталось распечатать их и нарезать. 

.NET FastReport Десктоп .NET FastReport Десктоп
3 марта 2026

Обзор на .NET 10: что нового в C# 14, ASP.NET Core, WinForms и MAUI

Microsoft выпустила .NET 10 с долгосрочной поддержкой (LTS), актуальной до 10 ноября 2028 года. Релиз принёс не революцию, но массу точечных, зрелых улучшений. Разбираем главное в этой статье.
17 февраля 2026

Как установить МоиОтчеты Десктоп в Windows и Linux

В этой статье мы рассмотрим подробные шаги установки, настройки и запуска установщика МоиОтчеты Десктоп на примерах для Windows и Linux.
6 февраля 2026

FastReport VCL: как 25 лет инноваций изменили подход к отчётности в VCL-приложениях

Мы решили оглянуться назад, чтобы показать, как менялись технологии отчетности, а также проследить ключевые этапы развития FastReport VCL в каждой версии.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»