Вопросы по Fastreport.net

1235

Комментарии

  • отредактировано 18:45
    CouRage написал: »
    Еще такой вопрос: у MatrixObject колонки сортируются в алфавитном порядке. Если названиями колонок, например, являются названия месяцев, то они идут в неестественном порядке. Можно как-то решить эту проблему ?

    Варианта два:
    - вместо названия месяца использовать номер (см. документацию - там есть пример, как вместо номера показать название);
    - отключить сортировку, в этом случае месяцы должны поступать в матрицу в нужном порядке.
  • отредактировано 18:45
    CouRage написал: »
    Если для запуска Preview отчета я использую:

    rpt.Preview не установлен
    rpt.Prepare();
    rpt.ShowPrepared(false);

    и если в отчете есть диалоговая форма, то при нажатии кнопки "Отмена" в этой форме, окно FastReport`a все равно показывается. Можно сделать чтобы оно не показывалось ? Так, как происходит при использовании метода Show().

    if (rpt.Prepare())
    rpt.ShowPrepared(false);
  • CouRageCouRage Санкт-Петербург
    отредактировано 18:45
    :)
    Работает.
    Спасибо.
  • CouRageCouRage Санкт-Петербург
    отредактировано 18:45
    Все RichObject объекты при экспорте в rtf-формат превращаются в рисунки. Это можно как-то изменить ?
  • отредактировано 18:45
    Мы добавим эту возможность в ближайшем будущем. Это есть в to-do, но там есть и более приоритетные задачи.
  • CouRageCouRage Санкт-Петербург
    отредактировано 18:45
    Здравствуйте.

    Такой вопрос: в Excel экспортируется отчет-таблица. В конечном Excel-файле ячейки, содержащие числа, распознаются Excel как текст. Чтобы далее использовать эти ячейки в формулах необходимо вручную преобразовать их в числа. Можно как-нибудь добиться, чтобы сразу после экспорта в Excel ячейки с числами были числами в Excel (например, основываясь на свойстве Format объекта TextObject) ??
  • отредактировано 18:45
    Здравствуйте,

    Сделаем.
  • отредактировано January 2009
    А когда FastReport.NET наконец то выйдет из стадии бэты в стадию полноценного релиза?
  • отредактировано 18:45
    Когда мы доделаем PDF и исправим кое-какие баги.
  • отредактировано 18:45
    AlexTZ написал: »
    Когда мы доделаем PDF и исправим кое-какие баги.
    А по срокам выхода релиза можете что то сказать?
  • отредактировано 18:45
    По срокам не скажу. Пререлиз - в этом месяце.
  • CouRageCouRage Санкт-Петербург
    отредактировано January 2009
    Такой вопрос:
    В дизайнере FR на диалоговой форме лежат два ComboBoxControl. У обоих установлено свойство DataColumn -т.е. оба привязаны к источникам данных. Данные в одном из них нужно отфильтровывать в зависимости от значения в первом. Вопрос - как установить фильтр на данные во втором ComboBoxControl ? Точнее, как заставить ComboBoxControl реагировать на изменение источника данных, я источник фильтрую, а Combo не меняется.
  • отредактировано 18:45
    Фильтрация выполняется при закрытии формы. Вам нужно отключить автоматическую фильтрацию (св-во AutoFilter) и делать ее руками при смене фокуса или при выборе значения. См. руководство пользователя, раздел "Диалоговые формы/Управление фильтрацией из кода".
  • CouRageCouRage Санкт-Петербург
    отредактировано 18:45
    Понял. Спасибо.
  • отредактировано 18:45
    Здравствуйте.
    Я храню отчет в БД и его загрузку/сохранение выполняю не из дизайнера.
    Поэтому мне нужно полностью отключить стандартные диалоги открытия/сохранения шаблона а также отключить запрос на сохранение измененного отчета.
    Использую обработчики событий CustomOpenReport/CustomSaveReport и CustomOpenDialog/CustomSaveDialog.
    А как отключить запрос на сохранение измененного отчета?
    И еще. Как в дизайнере убрать некоторые кнопки и пункты меню?
  • отредактировано January 2009
    Здравствуйте,

    Чтобы запретить этот диалог, сделайте так:
    Designer designer = new Designer(your_report);
    designer.AskSave = false;
    designer.ShowDialog();
    

    Чтобы получить доступ к меню:
    DesignerMenu menu = designer.Plugins.Find("MainMenu") as DesignerMenu;
    // см. Class Reference по поводу доступных пунктов меню
    menu.miFileNew.Enabled = false;
    

    К панелям инструментов доступа нет, т.к. они все объявлены как internal. Можно запретить некоторые операции, изменив св-во designer.Restrictions - см. Class Reference.
  • отредактировано 18:45
    Спасибо, все работает.
  • CouRageCouRage Санкт-Петербург
    отредактировано 18:45
    Здравствуйте. Несколько вопросов:

    1. При выполнении метода Report.Export(..) у пользователя всегда запрашивается имя файла. Можно ли как-нибудь имя файла задать из кода ?

    2. При экспорте в Excel, если на странице есть свободное место, оно превращается в одну или несколько больших ячеек. Можно ли как то этого избежать ?
    Пробовал решить эту проблему след. способами:
    Первый: В событии _StartReport уменьшить свойство Height страницы - чтобы свободного места не оставалось. Не помогло.
    Второй: В моем конкретном случае в отчете есть таблица-MatrixObject. Положил ее на бэнд Данные, добавил Дочерний бэнд, установил ему свойство "Заполнять пустое место страницы" и положил на него текстовые поля по ширине совпадающие колонками Matrix - чтобы равномерно заполнить этими полями страницу и получить в Excel нормальные ячейки. Однако Дочерний бэнд напечатался почему-то над бэндом данные.

    3. У объекта TableCell в дизайнере в редакторе свойств не доступны свойства Height и Width. В коде доступны.
  • отредактировано 18:45
    Здравствуйте,

    1) в методе Report.Export(ExportBase export, string fileName) есть такой параметр. Или имеется в виду экспорт из превью?
    2) в версии FR VCL у нас был способ экспорта - continuous, без экспорта колонтитулов. Добавим позже.
    3) размеры ячейки определяются шириной колонки и высотой строки таблицы.
  • CouRageCouRage Санкт-Петербург
    отредактировано 18:45
    1) Параметр есть, но диалог пользователю все равно задается.

    И еще вопрос:

    4.В MatrixObject есть возможность печатать заголовки строк справа от данных ?
  • отредактировано 18:45
    1) делаю так, никаких диалогов не вижу:

    FReport.Prepare();
    FReport.Export(new RTFExport(), @d:\1.rtf);

    4) нет.
  • CouRageCouRage Санкт-Петербург
    отредактировано 18:45
    1) Извините. Моя ошибка. Действительно не выдается.

    Спасибо.
  • отредактировано 18:45
    Добрый день.
    Подскажите пожалуйста, как печатать из web формы? На форме кнопки печати нет, а вызов WebReport1.Report.Print(); возвращает ошибку

    Показ модального диалогового окна или формы является допустимой операцией, только если приложение запущено в режиме UserInteractive. Для отображения уведомления из служебного приложения укажите стиль ServiceNotification или DefaultDesktopOnly.
  • отредактировано 18:45
    Здравствуйте,

    Пока никак. Возможность печати появится, как только мы закончим работу над экспортом в PDF.
  • CouRageCouRage Санкт-Петербург
    отредактировано 18:45
    Здравствуйте.

    Есть возможность прервать выполнение отчета из кода отчета ?

    Пробовал Report.Abort(); - не помогает, выполнение отчета продолжается.
  • отредактировано 18:45
    Здравствуйте,

    Report.Abort - должно сработать. Зависит от того, какой процесс пытаетесь прервать, не везде стоят проверки на Aborted. В отчете Simple List - работает.
  • Сергей ЛукьяновСергей Лукьянов Санкт-Петербург
    отредактировано 18:45
    Здравствуйте!

    Можно как-то добиться того, чтобы несколько объектов типа "Таблица" располагались рядом и автоматически смещались бы вправо/влево в зависимости от изменения ширины соседней таблицы слева?
  • отредактировано 18:45
    Здравствуйте,

    К сожалению, нет. Алгоритм развертки таблицы это не поддерживает.
  • Сергей ЛукьяновСергей Лукьянов Санкт-Петербург
    отредактировано 18:45
    AlexTZ написал: »
    Здравствуйте,

    К сожалению, нет. Алгоритм развертки таблицы это не поддерживает.

    У бэнда Данные можно задать количество колонок, а можно такую же фичу сделать и для других бэндов?
    Это могло бы решить проблему?
  • отредактировано 18:45
    Нет. Проблема с таблицей в другом, там сложный алгоритм разбивки большой таблицы на страницы. Учесть в нем еще и наличие соседней таблицы сложно, придется все переписывать. Я к этому не готов.
Дискуссия закрыта.