как подключить таблицу

отредактировано 21:56 Раздел: FastReport Studio
Установлено: FastReport Studio 4.6.57.(complete)/ Заполнил данный из запроса в массив, хочу вывести из массива в отчет. Читаю документацию: "Руководство пользователя FastReport 4.6"(FR4-UserManual-ru.pdf): Для подключения таблицы (или другого источника данных) к бэнду применяется компонент-коннектор TfrxDBDataSet из палитры компонент FastReport.
В палитре только 3 компонента: TfrxADODatebase; TfrxADOTable; TfrxADOQuery и TfrxShapeView
В руководстве программиста для подключения бэнда к таблице, советуют использовать TfrxUserDataSet , тоже нет такого компонента у меня! Что делать, помогите начинающему!


Комментарии

  • almanalman космополит
    отредактировано 21:56
    TfrxDBDataSet объект доступен в оригинfльном FR Delphi.
    Если Вы желаете выбирать данные из базы данных, то используйте движок ADO. Если данные генерируете программно, то используйте UserDataSet.
    Существует также версия FR Studio с вкомпиленной поддержкой базы данных FireBird.

    Опишите задачу, а мы подскажем Вам как её решить. Совместно с каким языком программирования Вы используете FastReport?

  • отредактировано 21:56
    Описание задачи: Таблица с номерами клиентов, поле номеров типа string, но номера идут вперемешку с буквами, т.е. и 100 и 100а и 100в, надо вывести по маске например с 2*, но отсортировать по возрастанию, но т.к. номера это string то выводится так 1,10,100,101, 2, 21, 3 .. А надо бы: 1,2,3,….10,11,..
    А потом вывести пропуски в последовательности. тоже в номерованном порядке
    Я сделал так: Select count_person From base_person Where count_person LIKE [edit1]+'_' order by count_person.
    Результаты запроса записываю в массив: ADOQuery1.Open/Next/Close.
    Затем запускаю новый запрос с LIKE [edit1]+'__', добавляю в массив, и так 4 раза до максимальной разрядности. Проходя по массиву перевожу string в integеr сравниваю с предыдущим и хочу это вывести в отчет, но как? Не знаю.
  • отредактировано 21:56
    Пишу на: PascalScript.
  • almanalman космополит
    отредактировано 21:56
    Насколько я понимаю, проблема заключается в том, что номера клиентов имеют тип string, поэтому Вам приходится сортировать данные перед построением отчёта. Как вариант, могу предложить программно создавать временную базу данных, значения номеров клиентов в которой будут типа Integer.

    можно, конечно, извратиться на встроенном в Fast Report скрипте, но мне думается что сортировка на скрипте будет работать медленнее.

    Что касается вывода массива в отчёт, то это очень просто делается при помощи FR Delphi, там даже пример такой имеется. Для студии будет немного сложнее - Вам действительно понадобится объект TfrxUserDataSet или использование Plugin'нов.

    К сожалению в настоящий момент у нас нет примера использования UserDataSet на Delphi, поэтому можете подсмотреть идею в примере на С++:
    "C:\Program Files\FastReports\FastReport Studio\Examples\VisualC++\UserDataSet"

    Более правильным и продвинутым способом будет использование плагина. Пример плагина имеется на С#:
    "C:\Program Files\FastReports\FastReport Studio\Examples\VisualC#.NET\DataSourcePlugin"

    Идея плагина заключается в следующем - Вы самостоятельно создаёте класс и реализуете в нём четыре интерфейса:
    IfrxUserDataSet, IfrxUserDataSetEvents, IfrxDataSet, IfrxPlugin

    Затем регистрируете этот класс в генераторе отчётов при помощи метода BindObject класса TfrxReport. Таким образом Ваш плагин будет видим в отчёте как источник данных.

    Но в Вашем случае я бы создавал временную базу данных, с номерами клиентов переведёнными к целочисленному типу. Или использовал FastReport Delphi, в котором уже есть готовый пример передачи данных из приложения в отчёт.

  • отредактировано 21:56
    И всё же уточните в какой среде разработки вы используете FastReport Studio?

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

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