Можно ли программно создавать Tab'ы в Previewcontrol
Можно ли программно создавать Tab'ы в PreviewControl, так же как в примере Interactive Report. Но я хочу безе гипперссылок, просто на одной закладке - чарт, на второй репорт, на третей другой репорт.
Павел.
Павел.
Комментарии
public void AddTab(Report report, string text)
public bool SwitchToTab(string text)
public void DeleteTab(string text)
public bool TabExists(string text)
Вылетает NullRefernceException при выполнении следующего кода:
ReportPreview конечно создан и отчет формируется стандартным образом, но как только я пытаюсь добавить вкладку, вылетает ексепшн
Report report = new Report();
report.Load(...);
report.RegisterData(...);
report.Prepare();
ReportPreview.AddTab(report, "Summary");
Сделал все как описано здесь - валится с ошибкой:
Есть еще неприятные особенности. Если контрол PreviewControl не содержит отчета то я думаю, что стоит заблокировать как минимум следующие элементы меню:
- Печать
- Сохранить
Вот почему я так считаю: При попытке сохранить несуществующий отчет вылетает ошибка (пусть и перехватываемая обработчиком).
Также мы при разработке ведем лог изменений с указанием даты. Так проще отслеживать изменения.
Также есть еще мелкие ошибки:
- Если в контроле несколько вкладок, то статус строка показывает состояние по последнему сформированному отчету, а не по текущему выбранному (что логично, как мне кажется. Потому, что если последний отчет содержит 100 страниц а текущий выбранный - 1, то нелепо смотрится в статус строке страница "N из 100" а ты видишь только одну.)
- При заполнении табами всей ширины контрола (при создании большого количества табов) справа появляются стрелочки для прокрутки табов. Так вот если уйти этими стрелочками доконца вправо и начать закрывать табы с правой сторону попорядку, то при закрытии первых нескольких табов стрелочки прокрутки исчезают и возможность прокрутить назад влево отсутствует, а количество табов все еще больше ширины контрола и они не пододвигаются.
По ошибкам:
1) могу исправить
2) исправить не могу - это ошибка не в нашей библиотеке.