Merge строк

отредактировано 14:44 Раздел: FastReport 3.0
Помогите, люди добрые! Как мне сделать так чтобы если данны мои например чтото такое:

А__Б__В
А__Б__Г
А__Д__Е
А__Д__Ж

в отчете появлялось:

А__Б__В
______Г
___Д__Е
______Ж

т.е. чтобы данни появлялись только тогда, когда они изменяются.

Комментарии

  • отредактировано 14:44
    все просто как апельсин - в отчете должно быть 3 доп поля - первое содержит 3 откусанные справа буквы, второе - 2 откусанные, третье - одну откусанную. отсортированно + order by Поле1, Поле2, Поле3, делаешь 3 заголовка группы, в первый запихиваешь поле с 3 буквами, во 2 - с двумя, в 3 - с одной буквой. все.
  • отредактировано 14:44
    вернее, в запросе на котором базируется отчет дб 3 таких поля с таким порядком сортировки
  • отредактировано 14:44
    Azrael написал:
    все просто как апельсин - в отчете должно быть 3 доп поля - первое содержит 3 откусанные справа буквы, второе - 2 откусанные, третье - одну откусанную. отсортированно + order by Поле1, Поле2, Поле3, делаешь 3 заголовка группы, в первый запихиваешь поле с 3 буквами, во 2 - с двумя, в 3 - с одной буквой. все.
    Мда! Оригинально! Может я неясно вопрос формулировал?!
    Вот еше один раз тогда:

    Иван___Яблоко___2 вчера
    Иван___Яблоко___3 сегодня
    Иван___Ананас___1 попробовал
    Андрей_Яблоко___2 в сентябре
    Андрей_Яблоко___5 вчера
    Андрей_Яблоко___5 сегодня
    Андрей_Водка____1 пока

    вот так никому не нравится, а так:

    Иван_____Яблоко___2 вчера
    __________________3 сегодня
    _________Ананас___1 попробовал
    Андрей___Яблоко___2 в сентябре
    __________________5 вчера
    __________________5 сегодня
    _________Водка____1 пока

    все понятно. А непонятно пока как ето сделать. т.е. не нашел и незнаю!

  • отредактировано 14:44
    ну тогда еще вариант - в коде объявляешь 2 переменные типа string при выводе MasterData в событии OnBeforePrint выполняешь проверку - если значение совпадает с предыдущим - то делаешь Memo.Visible := False, если не совпадает, присваиваешь новое значение и Memo.Visible := True, и со вторым полем то же самое. примерно так.
  • nrjnrj
    отредактировано 14:44
    У Memo есть свойство SuppressRepeated (Скрывать повторяющиеся значения).
    Поставь true и получишь нужный результат.
  • отредактировано 14:44
    Спасибо! Все уже почти как надо. ;)

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

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