Найденные ошибки FR4 (Cross)
Формирую в дизайнере cross: 2 поля (строки), две ячейки с данными, колонок нет. Неправильно устанавливается вертикальный размер заголовков (Corner3 и Corner4) - на рисунке видно.
Если добавить хоть одну колонку - все становится правильно.
Не знаю, согласитесь ли? По-моему, в таком режиме (когда нет колонок), вообще не нужны две (в моем случае) пустые клеточки - левый верхний угол и пустая клетка над заголовками cell's. Но я не настаиваю
Спасибо.
Если добавить хоть одну колонку - все становится правильно.
Не знаю, согласитесь ли? По-моему, в таком режиме (когда нет колонок), вообще не нужны две (в моем случае) пустые клеточки - левый верхний угол и пустая клетка над заголовками cell's. Но я не настаиваю
Спасибо.
Комментарии
Заголовки как раз нужны. Я писал о том. что не нужны (по идее) пустые клетки над заголовками. Одна получается, когда нет ни одной колонки (над заголовками cell's). А вторая - тот самый левый угол, симметрично ей. Вот эту клетку бы не рисовать - а левый угол тогда можно будет отключить вручную
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, а вот восстановить его обратно нельзя.
2) у мемок кросса это св-во не работает, т.к. Parent у них фактически отсутствует.
3) не понял.
2. Это я не про Cross, а про обычную мемку на Датабэнде.
3.Если у Кросса не выводить Title, то остается левая верхняя Мемка, если
у этой мемки Visible=false, то ее невозможно опять восстановить, даже если
опять сделать видимым ReportTitle.
Пример 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].
2) в новой сборке должно работать
3) не надо мемкам кросса делать Visible = false, все должно регулироваться свойствами ShowXXX
4) увы, тут ничего не поделаешь.
5) поправил.
В кроссах не регулируется высота элементов заголовка при произвольном наклоне текста, отличном от 90, 270 градусов. В ячейках кросса текст не поворачивается вообще
При установке на палитре компонентов так и появляются закладки FastReport 3.0 и FastReport 4.0 (см. вложенный файл)
Ну и небольшое пожелание: а нельзя ли сделать в recompile.exe так, чтобы пакеты сразу перекомпилировались с выбранным языком, версией TeeChart, IBX ? Можно также вынести в интерфейс настройку параметров из inc файлов, и опциональную компиляцию пакетов FIB
P.S. A исходники recompile.exe можно увидеть?
if cross1.IsTotalColumn(ColumnIndex) then
width := 0;
При PlainCells=false все работает, при PlainCells=true нет.
> наклоне текста, отличном от 90, 270 градусов. В ячейках кросса текст не
> поворачивается вообще
Так задумано. При произвольно повернутом текст е трудно подсчитать его размеры, поэтому размеры считаются только для фиксированных углов.
Есть потребность сформировать Cross, у которого будет жестко задана ширина колонок. Если в RowField написать текст, который должен разместиться, например, на три строки, а в отчете получается только две (напр., одна строка данных и итог, или две строки без итога), значение RowField не умещается в ячейку. Долго игрался со свойствами Stretched в отчете, но так и не добился, чтобы в данной ситуации все строилось хорошо. Либо весь отчет наперекосяк, либо cell's "наползают" друг на друга.
Прилагаю простейший тестовый проект. Там нет задания ширины, но в дизайнере путем любых манипуляций мне не удалось заставить этот Cross выглядеть прилично. Согласен на любое решение
Спасибо.
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;
А вообще читай документацию, там эти вещи хорошо описанны.
AutoSize=false
MinWidth=0
MaxWidth=100
Ноль, конечно, не нужен. Но сделать меньше какого-то значения все равно не удается.
-Заголовок Таблицы
-Угол Таблицы
-Итог Колонки
Изменение ширины колонки не выполняется.