Динамическое отключение деталей в мастере/детали Delphi

У меня есть два отчета, которые я переделываю. В первом есть основная информация, а во втором то же самое, плюс дополнительная информация.

Оба сделаны с использованием FastReport и master/detail с помощью TSqlQuery и TClientDataset.

В первом 3 детали, во втором 5.

Есть ли способ сделать только один отчетный документ и динамически отключить детали?

Наблюдения: я не могу загрузить TClientDataset, а затем скрыть элементы в первом отчете, потому что выполнение запроса занимает много времени: около 30 секунд для загрузки первого отчета и около 10 минут для второго.


person Lucas Steffen    schedule 06.11.2018    source источник
comment
Вы отключили TDataSources, которые соединяют Master с Details?   -  person MartynA    schedule 06.11.2018
comment
@MartynA есть только один TDataSouce для всех 5 TSqlQuery, если я отключу его, все выйдет из строя.   -  person Lucas Steffen    schedule 06.11.2018
comment
Если я не могу создать несколько TDataSource, черт возьми, это может сработать. Спасибо   -  person Lucas Steffen    schedule 06.11.2018
comment
Если вы не в курсе, нет ограничений на количество источников данных, которые могут подключаться к основному набору данных.   -  person MartynA    schedule 06.11.2018
comment
@MartynСчастье было недолгим, оно не сработало. Он автоматически повторно активируется или не является той опцией, которая помогает.   -  person Lucas Steffen    schedule 06.11.2018
comment
Ну, вы всегда можете очистить свойство DataSet TDataSource и восстановить его позже...   -  person MartynA    schedule 06.11.2018


Ответы (1)


Спасибо @MartynA за помощь.

Мне удается это сделать, но это требует больше усилий, чем я думаю.

  1. Очистите свойство DataSource в вашем TSqlQuery;
  2. Очистите свойство DataSetField в вашем TClientDataSet (подробности);
  3. Удалите поле, используемое в DataSetField, из вашего TClientDataSet (главного);
  4. И если вы используете FastReport, ClientDataSet должен быть активен, поэтому вы используете метод CreateDataSet.
person Lucas Steffen    schedule 06.11.2018
comment
Рад, что вы разобрались - я сам редко работаю с FastReports. - person MartynA; 06.11.2018