Добрый день!
Методом анализа было выявлено, что при построении отчёта он зачем-то выполняет запрос к базе до отображения формы. В самом запросе используется значения DateTimePicker. Сначала выполняется запрос со стандартными значениями DateTimePicker, затем после того, как появляется форма и пользователь указывает, к примеру, период и нажимает ОК, запрос снова выполняется уже с указанными датами.
Если запросы сложные, то это влияет на время отображения формы пользователю.
Это так и должно быть? И есть ли настройка для отключения этого?
Выполнение запросов при построении до заполнения параметров
Re: Выполнение запросов при построении до заполнения парамет
Здравствуйте.
В данном случае можно поступить так:
1. Выделите источник данных с параметром в словаре данных и из контекстного меню вызовите Properties;
2. Установите свойство ConnectOnStart в false;
3. В событии OnClick кнопки напишите код:
Дайте знать если будут дополнительные вопросы!
Спасибо.
В данном случае можно поступить так:
1. Выделите источник данных с параметром в словаре данных и из контекстного меню вызовите Properties;
2. Установите свойство ConnectOnStart в false;
3. В событии OnClick кнопки напишите код:
Код: Выделить всё
DataSource1.Connect();
Спасибо.
- Вложения
-
- 3.png (18.63 КБ) 3225 просмотров
-
- 2.png (8.93 КБ) 3225 просмотров
-
- 1.png (15.95 КБ) 3225 просмотров
Re: Выполнение запросов при построении до заполнения парамет
Возвращаюсь к этому вопросу.
На DataSource - data стоит ConnectOnStart = false, при нажатии на форме "Формировать" делается data.Connect(), но данные на странице не отображаются. При ConnectOnStart = true все отрабатывает корректно.
Отчёт во вложении, используется БД PostgreSQL 9.5 и pgBouncer.
На DataSource - data стоит ConnectOnStart = false, при нажатии на форме "Формировать" делается data.Connect(), но данные на странице не отображаются. При ConnectOnStart = true все отрабатывает корректно.
Отчёт во вложении, используется БД PostgreSQL 9.5 и pgBouncer.
- Вложения
-
- Report.mrt
- (6.51 КБ) 442 скачивания
Re: Выполнение запросов при построении до заполнения парамет
Здравствуйте,
В данном случае, перед вызовом метода Connect, необходимо задать ConnectOnStart:
data.ConnectOnStart = true;
data.Connect();
Спасибо.
В данном случае, перед вызовом метода Connect, необходимо задать ConnectOnStart:
data.ConnectOnStart = true;
data.Connect();
Спасибо.