Формы...

отредактировано 01:49 Раздел: FastReport .NET
не совсем понял в чем фокус :)
опишу проблему так, у меня есть отчёт (прилагаю файлом), в нём есть форма. форма вызывается на экран и её можно закрыть (чтобы она не появлялась её можно просто сделать Visilble = False)
далее существует некая "Пользовательская" гиперссылка которая передает в функцию события Text1_Click некий параметр (не важно какой). в функции вызывается событие Form1.ShowDialog, появляется ворма. всё супер. можно передать параметры этой форме и она отобразит то, что нужно.
но события в этом окне не обрабатываются, не на кнопке ОК, не на кнопке ОТМЕНА, не любом другом объекте расположенном на этой форме...

вот пример:

Комментарии

  • отредактировано 01:49
    Здравствуйте,

    Такой сценарий работы не предусмотрен, поэтому привязка обработчиков событий делается только во время запуска отчета. Попробую изменить код так, чтобы формы работали и в Вашем случае.
  • отредактировано 01:49
    я сейчас сижу и строю формы на базе System.Windows.Forms, такой геморой ужс ))
    будет круто, если у вас всё получится... =)
  • отредактировано 01:49
    Вроде получилось, будет в очередном билде.
  • отредактировано 01:49
    :) большое спасибо!

    дабы не плодить темы, у меня маленький вопросик.
    есть отчёт, в нём генерируется некий список.
    во время просмотра отчёта данные могут измениться , можно ли как то из скрипта заставить его перезагрузить все таблицы (обновить), а потом обновиться самому.
    Report.Refresh как я понял, действует несколько иначе... вообще как то странно действует =(
    в хелпе про этот метод (report.refresh) ни слова не написано.
    единственное что я понял, он далеко не всегда работает и только тогда, когда объект является пользовательской ссылкой и у него есть метод Click, но даже в этом случаи он не всегда срабатывает... :)
  • отредактировано 01:49
    Report.Refresh работает только в методах Click/MouseUp.

    /// <summary>
    /// Refresh the current report.
    /// </summary>
    /// <remarks>
    /// Call this method in the Click or MouseUp event handler of a report object to refresh
    /// the currently previewed report. Report will be generated again, but without dialog forms.
    /// </remarks>
    написал:
    но даже в этом случаи он не всегда срабатывает...
    Должен срабатывать.
  • отредактировано 01:49
    я не про это, по сути Refresh обновляет, я более менее за сегодня проникся его работой :) ) всё замечательно. но данные он берёт старые.
    проще говоря у меня есть таблица в ней около 5 полей. 3 из них вычисляемые и загружаются во момент формирования данных. как сделать так в скрипте, чтобы обновилось вообще ВСЁ :) заранее спасибо
  • отредактировано 01:49
    С этим сложнее, т.к. метода для принудительного обновления таблиц нет. Добавлю св-во DataSource.ForceLoadData в один из следующих билдов.
  • отредактировано 01:49
    кул :)
  • отредактировано 01:49
    Сделал, можете пробовать. Нужно установить это св-во в true для каждого источника данных.
  • отредактировано December 2009
    параметр не сохраняется.
    то есть ставлю на таблице ForceLoadData = True (в дезигнере), запускаю отчёт, всё супер!!! даже круче, чем я мог себе представить :) , но как только возвращаешься в дезигнер, значение снова False ... :) подозреваю, что в классе не сохраняется значение.
    проблема решается просто, в событие StartReport вставляю Report.GetSource('имя таблицы').ForceLoadData = True

    так же параметр не имеет default value, то есть он всегда выделен жирным. хотя по умолчанию он False. это конечно не критично
  • отредактировано 01:49
    Ок, исправлю.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.