Обновление отчета
Обновление отчета
Здравствуйте. Помогите разобраться. В проекте есть DataGrid, источник данный – типизированный DataSet. На стороне сервера есть хранимые процедуры для Insert, Update,Delete. TableAdapter заполняется при открытии формы. Все работает, положил на форму кнопку просмотра отчета, Report.Show(). Отчет строил с помощью мастера из проекта. Что происходит – при открытии формы, заполняется грид, нажимаю на кнопку просмотра отчёта всё работает. Если меняю записи или удаляю, соответсвенно сохраняя в базе, при открытии отчета данные не меняются. Не пойму что забыл?
Обновление отчета
Здравствуйте,
Если используется один и тот же объект отчета, то нужно очистить хранилище данных в отчете. Например:
Спасибо.
Если используется один и тот же объект отчета, то нужно очистить хранилище данных в отчете. Например:
Код: Выделить всё
report.DataStore.Clear();
if (report.CompiledReport != null)
report.CompiledReport.DataStore.Clear();
Обновление отчета
Здравствуйте. Делал, как Вы написали, всё без изменений. Получается, что отчёт не видит обновления в датасете. Хотя грид сразу реагирует на них. При первом запуске отчета на просмотр, появляется прогресс бар, его создания, затем, когда я изменил некоторые записи в гриде и сохранил их в базе грид соостветсвенно обновляется, запускаю отчет на просмотр, прогресс бара создания уже нет, ощущение, будто отчет формируется из своего КЭШа и не обращается к датасету, чтобы выбрать данные запросом. Чтобы увидеть обновленные записи в отчете, приходится закрывать форму на которой лежит грид и сам Report. В событии открытия формы DataAdapterы заполняют таблицы в датасете, Делал это перед открытием отчета изменений в отчете не видно. Как быть незнаю….
Обновление отчета
stiReport1.DataSources.Clear();
stiReport1.RegData(MyDataSet);
stiReport1.Dictionary.Synchronize();
stiReport1.Render();
stiReport1.Show()
stiReport1.RegData(MyDataSet);
stiReport1.Dictionary.Synchronize();
stiReport1.Render();
stiReport1.Show()