доступность источников данных в дизайнере
вопрос в продолжение темы http://fast-report.com/ru/forum/index.php?showtopic=6223
меню победили)) теперь вылезла новая проблема:
на каждой MDI-форме с отчетами лежат свои frxReport, frxPreview, frxDesigner и 1-2 frxDBDataset'а.
запускаем дизайнер в run-time при открытых нескольких окнах приложения, выбираем в главном меню Report->Data... и видим, что нам доступны все frxDBDataset со всех открытых форм, что не есть хорошо в нашем случае.
было испробовано, но не помогло:
1) перенос объявления frxDBDataset'ов в секцию private на каждой форме
2) вызов: frxReport1.DataSets.Clear;
и последующее запихивание необходимых датасетов: frxReport1.DataSets.Add(frxDBDataSet1); frxReport1.DataSets.Add(frxDBDataSet2);
P.S. можно, конечно, просто убрать из "рукотворного меню" пункт Data, и тогда пользователь не сможет активировать левые датасеты, но может есть предложения поумнее??
меню победили)) теперь вылезла новая проблема:
на каждой MDI-форме с отчетами лежат свои frxReport, frxPreview, frxDesigner и 1-2 frxDBDataset'а.
запускаем дизайнер в run-time при открытых нескольких окнах приложения, выбираем в главном меню Report->Data... и видим, что нам доступны все frxDBDataset со всех открытых форм, что не есть хорошо в нашем случае.
было испробовано, но не помогло:
1) перенос объявления frxDBDataset'ов в секцию private на каждой форме
2) вызов: frxReport1.DataSets.Clear;
и последующее запихивание необходимых датасетов: frxReport1.DataSets.Add(frxDBDataSet1); frxReport1.DataSets.Add(frxDBDataSet2);
P.S. можно, конечно, просто убрать из "рукотворного меню" пункт Data, и тогда пользователь не сможет активировать левые датасеты, но может есть предложения поумнее??
Комментарии
вызов: frxReport1.DataSets.Clear;
и последующее запихивание необходимых датасетов: frxReport1.DataSets.Add(frxDBDataSet1); frxReport1.DataSets.Add(frxDBDataSet2);
вызов: frxReport1.EnabledDataSets.Clear;
и последующее запихивание необходимых датасетов: frxReport1.EnabledDataSets.Add(frxDBDataSet1); frxReport1.EnabledDataSets.Add(frxDBDataSet2);
даже если перед вызовом дизайнера написать только
frxReport1.DataSets.Clear;
frxReport1.EnabledDataSets.Clear;
он всё равно подгрузит все существующие frxDBDataSet'ы со всех открытых форм . только галочки в Report->Data... не проставляет, т.е. у всех Enabled=false;