Найденные ошибки FR4 (Cross)

отредактировано November 2006 Раздел: FastReport 4.0
Формирую в дизайнере cross: 2 поля (строки), две ячейки с данными, колонок нет. Неправильно устанавливается вертикальный размер заголовков (Corner3 и Corner4) - на рисунке видно.
Если добавить хоть одну колонку - все становится правильно.
Не знаю, согласитесь ли? По-моему, в таком режиме (когда нет колонок), вообще не нужны две (в моем случае) пустые клеточки - левый верхний угол и пустая клетка над заголовками cell's. Но я не настаиваю ;)
Спасибо.

Комментарии

  • отредактировано 16:39
    Поправил. Если залоговки не нужны, их легко отключить (ShowTitle, ShowCorner).
  • отредактировано 16:39
    Спасибо.
    Заголовки как раз нужны. Я писал о том. что не нужны (по идее) пустые клетки над заголовками. Одна получается, когда нет ни одной колонки (над заголовками cell's). А вторая - тот самый левый угол, симметрично ей. Вот эту клетку бы не рисовать - а левый угол тогда можно будет отключить вручную
  • отредактировано 16:39
    Скачал Fr4, есть несколько замечаний:
    1. CrossTab Не удается сделать в скрипте ( OnCalcWidth) ширину колонки = 0 (см. Oborot.doc)
    2. Не работает свойство ParentFont=false у Memo (у бэнда Font.Style=[Bold], у Memo Font.Style=[], ParentFont=false все равно печатает Bold)
    3. В CrossTab, если убрать галку с "Заголовок таблицы", остается Title у Corner, его можно убрать установив Visible=false, а вот восстановить его обратно нельзя.

  • отредактировано 16:39
    1) зачем в данном случае "Остаток"? То же самое, что "Итого". Не проще выводить итог и не мучиться со скриптом?
    2) у мемок кросса это св-во не работает, т.к. Parent у них фактически отсутствует.
    3) не понял.
  • отредактировано 16:39
    1. Остаток может быть в 2 колонки "Дебет" и "Кредит", привел не совсем удачный пример (в FR3 все работало), а у меня таких отчетов полно.
    2. Это я не про Cross, а про обычную мемку на Датабэнде.
    3.Если у Кросса не выводить Title, то остается левая верхняя Мемка, если
    у этой мемки Visible=false, то ее невозможно опять восстановить, даже если
    опять сделать видимым ReportTitle.
  • отредактировано 16:39
    Левая верхняя мемка входит в группу Corner. Title - в данном случае заголовок над колонками.
  • отредактировано 16:39
    1. Вываливаются все кросстабы с CellLevels=2 у которых есть обработчик событий.
    Пример 67.fr3 из демо: создаем событие OnPrintCell (даже пустое), жмем просмотр получаем List index out of bonds(5). и будем получать эту ошибку даже если уберем обработку события.
    на OnPrintRowHeader получаем AV adress 0000006 и общую ошибку программы.
    Делаем ColumnHeaders 2х уровневым, кидаем туда Month, PlainCells=true создаем событие onPrintColumnHeader
    получаем ошибку Invalid variant tip;

    2. Ширина колонок = 0, не уставливается в скрипте, а в случае установки width<MinWidth (напр width=20, MinWidth=70),
    почему то изменяется высота строк, в FR3 все работало.

    3. пример 68.fr3 устанавливаем в "Salary" (corner0) visible=false,
    "Employee" (corner3) visible=false, [Name] (Row0) visible=false.
    после пытаемся мемки восстановить, при просмотре [Name] (Row0) присутствует,
    в дизайнере эти мемки не недоступны. Я думаю мемки должны быть всегда видны в Инспекторе объектов.

    4. CrossTab c широким RowHeader (напр. Покупатель,номер-дата договора, номер партии, номер-дата документа),
    AutoSize=true, ячейки данных в дизайнере недосткпны. Приходится делать AutoSize=FALSE, уменьшать ширину колонок
    RowHeader, устанвпливать формат ячеек данных, восстанавливать AutoSize=true. Хорошо бы полосу прокрутки сделать.

    5. Создаем новый отчет. у MasterData устанавливаем font.size=12, font.style=[bold].
    Кидаем на MasterData мемку (font.size=10, font.style=[]), в просотре у мемки font.size=12, font.style=[bold].
  • отредактировано 16:39
    1) поправил
    2) в новой сборке должно работать
    3) не надо мемкам кросса делать Visible = false, все должно регулироваться свойствами ShowXXX
    4) увы, тут ничего не поделаешь.
    5) поправил.
  • gpigpi
    отредактировано 16:39
    FR 4.0.13
    В кроссах не регулируется высота элементов заголовка при произвольном наклоне текста, отличном от 90, 270 градусов. В ячейках кросса текст не поворачивается вообще
    При установке на палитре компонентов так и появляются закладки FastReport 3.0 и FastReport 4.0 (см. вложенный файл)
    Ну и небольшое пожелание: а нельзя ли сделать в recompile.exe так, чтобы пакеты сразу перекомпилировались с выбранным языком, версией TeeChart, IBX ? Можно также вынести в интерфейс настройку параметров из inc файлов, и опциональную компиляцию пакетов FIB
    P.S. A исходники recompile.exe можно увидеть? ;)
  • gpigpi
    отредактировано 16:39
    И ещё: у Вас в демке с календарём июнь опять с ошибкой написан ;)
  • отредактировано 16:39
    Ширина колонок в скрипте Пример 67 пишем в OnCalcWdth:
    if cross1.IsTotalColumn(ColumnIndex) then
    width := 0;
    При PlainCells=false все работает, при PlainCells=true нет.
  • отредактировано 16:39
    > В кроссах не регулируется высота элементов заголовка при произвольном
    > наклоне текста, отличном от 90, 270 градусов. В ячейках кросса текст не
    > поворачивается вообще

    Так задумано. При произвольно повернутом текст е трудно подсчитать его размеры, поэтому размеры считаются только для фиксированных углов.

  • отредактировано November 2006
    Проблема с высотой строк (-и).
    Есть потребность сформировать Cross, у которого будет жестко задана ширина колонок. Если в RowField написать текст, который должен разместиться, например, на три строки, а в отчете получается только две (напр., одна строка данных и итог, или две строки без итога), значение RowField не умещается в ячейку. Долго игрался со свойствами Stretched в отчете, но так и не добился, чтобы в данной ситуации все строилось хорошо. Либо весь отчет наперекосяк, либо cell's "наползают" друг на друга.

    Прилагаю простейший тестовый проект. Там нет задания ширины, но в дизайнере путем любых манипуляций мне не удалось заставить этот Cross выглядеть прилично. Согласен на любое решение ;)

    Спасибо.
  • отредактировано 16:39
    SweN написал:
    Проблема с высотой строк (-и).
    Если тебе нужно задать ширину то в обработчике Cros-tab используй следующие OnCalcWidth
    procedure Cross1OnCalcWidth(ColumnIndex: Integer; ColumnValues: Variant; var Width: Extended); //отвечает за ширину
    begin
    if ColumnIndex = 0 then Width :=200;//самая первая строка
    if ColumnIndex = 3 then Width :=200;//уже 4строка
    if ColumnIndex = 6 then Width :=200;//немерация начинается с нуля
    if ColumnIndex = 9 then Width :=200;
    end;

    А если высоту то в обработчике Cros-tab используй следующие OnCalcHeight
    procedure Cross1OnCalcHeight(RowIndex: Integer; RowValues: Variant; var Height: Extended); //отвечает за высоту
    begin
    if RowIndex = 0 then Height :=10;//самый первый столбей
    if RowIndex = 1 then Height :=10;//второй
    if RowIndex = 2 then Height :=10;//немерация начинается с нуля
    if RowIndex = 3 then Height :=10;
    if RowIndex = 4 then Height :=10;
    if RowIndex = 5 then Height :=10;

    end;

    А вообще читай документацию, там эти вещи хорошо описанны.
  • отредактировано 16:39
    Почему в дизанере (не скриптом) нельзя уменьшить ширину заголовка и колонки данных до минимума (MinWidth) при следующих свойствах :
    AutoSize=false
    MinWidth=0
    MaxWidth=100
  • отредактировано 16:39
    Можно, а какой смысл до 0 уменьшать?
  • отредактировано November 2006
    А у меня в дизанере не уменьшается.
    Ноль, конечно, не нужен. Но сделать меньше какого-то значения все равно не удается.
  • отредактировано 16:39
    Размеры меняются кратно шагу сетки. Если в процессе уменьшения размера нажать Alt, уменьшение станет плавным и можно уменьшить до 0.
  • отредактировано November 2006
    При отключенных свойствах :
    -Заголовок Таблицы
    -Угол Таблицы
    -Итог Колонки

    Изменение ширины колонки не выполняется.

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

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