Вопрос про Dictionary.Synchronize

Обсуждение Stimulsoft Reports.NET
Ответить
DianovSV
Сообщения: 40
Зарегистрирован: 03 сен 2008, 11:55

Вопрос про Dictionary.Synchronize

Сообщение DianovSV »

Здравствуйте. Динамически изменяю данные в словаре, вызываю метод Dictionary.Synchronize - визуально в словаре ничего не меняется. Но если вызвать из выпадающего меню словаря -> Синхронизировать, данные обновляются.
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Вопрос про Dictionary.Synchronize

Сообщение Edward »

Вам необходимо перестроить панель Dictionary для отображения нового содержимого:

Stimulsoft.Report.Design.Panels.StiDictionaryPanelService.GetService(designer).DictionaryControl.Build((designer).Report);

Спасибо.
DianovSV
Сообщения: 40
Зарегистрирован: 03 сен 2008, 11:55

Вопрос про Dictionary.Synchronize

Сообщение DianovSV »

Не помогло. Мои данные из словаря вообще пропали.
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Вопрос про Dictionary.Synchronize

Сообщение Edward »

Покажите, пожалуйста, Ваш код и в какой момент Вы производите обновление.

Вышеуказанный код работает отлично в событии StiDesigner.CreatingNewReport, к примеру.

Спасибо.
DianovSV
Сообщения: 40
Зарегистрирован: 03 сен 2008, 11:55

Вопрос про Dictionary.Synchronize

Сообщение DianovSV »

Даю установку :biggrin:
Есть отчет, в словарь которого уже добавлены источники данных, открываем его в дизайнере.
В источниках данных произошли изменения, хочется их обновить в словаре.
Заново загружаем данные в словарь: Report.Dictionary.DataSources.Clear();
Report.RegData(reportDataSource);
Report.Dictionary.Synchronize();
В словаре визуально никаких изменений, но стоит нажать Словарь->Действия->Синхронизировать, все обновляется
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Вопрос про Dictionary.Synchronize

Сообщение Vital »

Здравствуйте,

такое ощущение что обновляется другой отчет. Может быть обновляется откомилированный отчет? Можно увидеть как открывается дизайнер и как вызывается тот код который Вы приводите?


Спасибо.
Ответить