Добрый день.
Возникла такая заявка от пользователя. Не пойму, как ее реализовать и вообще возможно ли это?
Имеется репорт который формируется на основе Dataset. Юзер, непосредственно в отчете, хочет помечать некоторые записи, посредством чекбокса или как-нибудь еще. После этого нажимается кнопка Ok или Close, по которой отчет будет закрыт. После закрытия или перед закрытием, я в программме должен получить информацию о том, что юзер пометил в отчете. Т.е. иметь возможность идентифицировать помеченые юзером записи в Dataset-е.
Может быть есть пример подобной функциональности?
Использую версию Stimulsoft Reports 2008.1.
Интерактивный отчет
Интерактивный отчет
Здравствуйте.
Вариант решения задачи:
- на датабэнде располагаете checkbox, у него устанавливаете свойство Editable=true.
- показываем вьювер как диалоговую форму с помощью метода report.Show(true); это надо для того, чтобы дождаться закрытия вьювера.
- во вьювере пользователь нажимает кнопку "Editor" и отмечает нужные чекбоксы.
- после закрытия вьювера сохраняем состояния редактируемых элементов командой report.SaveEditableFields();
Спасибо.
Вариант решения задачи:
- на датабэнде располагаете checkbox, у него устанавливаете свойство Editable=true.
- показываем вьювер как диалоговую форму с помощью метода report.Show(true); это надо для того, чтобы дождаться закрытия вьювера.
- во вьювере пользователь нажимает кнопку "Editor" и отмечает нужные чекбоксы.
- после закрытия вьювера сохраняем состояния редактируемых элементов командой report.SaveEditableFields();
Код: Выделить всё
report.Show(true);
report.SaveEditableFields("d:\\result_editable_fields.xml");
Интерактивный отчет
Здравствуйте.
Попробовал сделать, так как Вы указали. Не получилось.
Чекбокс не отображается и не редактируется ни в режиме Preview, ни в режиме редактирования репорта.
В чем может быть причина?
Используется версию Stimulsoft Reports 2008.1.
Попробовал сделать, так как Вы указали. Не получилось.
Чекбокс не отображается и не редактируется ни в режиме Preview, ни в режиме редактирования репорта.
В чем может быть причина?
Используется версию Stimulsoft Reports 2008.1.
Интерактивный отчет
Здравствуйте,
> Чекбокс не отображается и не редактируется ни в режиме Preview, ни в режиме редактирования репорта.
Чтобы инициализировать состояние флажка можно воспользоваться свойством Checked. Напишите в этом свойстве {true}, это установит значение по умолчанию. Далее нужно установить свойство Editable этого компонента в true. В Preview отчета, чтобы инициализировать редактирование нужно нажать на инструмент Edit Tool и только после этого флажки будут изменяться. К сожалению, метод SaveEditableFields не доступен в релизе 2008.1, но можно использовать небольшой код для поиска компонентов флажков в отчете и чтения их состояния:
Спасибо.
> Чекбокс не отображается и не редактируется ни в режиме Preview, ни в режиме редактирования репорта.
Чтобы инициализировать состояние флажка можно воспользоваться свойством Checked. Напишите в этом свойстве {true}, это установит значение по умолчанию. Далее нужно установить свойство Editable этого компонента в true. В Preview отчета, чтобы инициализировать редактирование нужно нажать на инструмент Edit Tool и только после этого флажки будут изменяться. К сожалению, метод SaveEditableFields не доступен в релизе 2008.1, но можно использовать небольшой код для поиска компонентов флажков в отчете и чтения их состояния:
Код: Выделить всё
foreach (StiPage page in report.RenderedPages)
{
Hashtable pos = new Hashtable();
StiComponentsCollection comps = page.GetComponents();
foreach (StiComponent comp in comps)
{
IStiEditable editable = comp as IStiEditable;
if (editable != null && editable.Editable)
{
}
}