Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
ВнизТаблица в отчет Найти похожие ветки
← →
xroot (2006-03-09 08:20) [0]Как мне, исп. qreports вывести в отчете целую таблицу.
То есть необходимо вывести все колонки ADO таблицы. Проблема заключается в:
1) необходимо соблюдать ширину самой длинной записи в колонке
2) если все колонки не влезают на лист, оставшиеся перенести на другой.
Подскажите как это реализовать
← →
xroot (2006-03-09 09:36) [1]Вроде нашел подходящий кусок кода.
Такой вопрос: вообще можно ли в QReports управлять выводом по страницам? Если можно то как? Если нет посоветуйте подходящий компонент
← →
Sergey13 © (2006-03-09 09:39) [2]>Подскажите как это реализовать
Гораздо сложнее реализовать НЕ так. Используй соответствующие бенды и все.
← →
xroot (2006-03-09 10:12) [3]Если не сложно, помогите переделать этот кусок.
procedure TTGridReport.Preview(Grid: TDBGrid);
var
i, CurrentLeft, CurrentTop : integer;
BMark: TBookmark;
begin
GridRep.Dataset:=Grid.DataSource.DataSet;
if not GridRep.Bands.HasColumnHeader then
GridRep.Bands.HasColumnHeader:=true;
if not GridRep.Bands.HasDetail then
GridRep.Bands.HasDetail:=true;
GridRep.Bands.ColumnHeaderBand.Height:=Abs(Grid.TitleFont.Height) + 10;
GridRep.Bands.DetailBand.Height:=Abs(Grid.Font.Height) + 10;
CurrentLeft := 12;
CurrentTop := 6;
BMark:=Grid.DataSource.DataSet.GetBookmark;
Grid.DataSource.DataSet.DisableControls;
try
for i:=0 to Grid.FieldCount - 1 do
begin
if (CurrentLeft + Canvas.TextWidth(Grid.Columns[i].Title.Caption)) >
(GridRep.Bands.ColumnHeaderBand.Width) then
begin
{вот здесь происходит переход на новую строку если страница закончилась (по вертикали), а нужно чтобы переходило на новую страницу}
CurrentLeft := 12;
CurrentTop := CurrentTop + Canvas.TextHeight("A") + 6;
GridRep.Bands.ColumnHeaderBand.Height := GridRep.Bands.ColumnHeaderBand.Height +
(Canvas.TextHeight("A") + 10);
GridRep.Bands.DetailBand.Height := GridRep.Bands.DetailBand.Height +
(Canvas.TextHeight("A") + 10);
end;
with TQRLabel.Create(GridRep.Bands.ColumnHeaderBand) do
begin
Parent := GridRep.Bands.ColumnHeaderBand;
Color := GridRep.Bands.ColumnHeaderBand.Color;
Left := CurrentLeft;
Top := CurrentTop;
Caption:=Grid.Columns[i].Title.Caption;
end;
with TQRDbText.Create(GridRep.Bands.DetailBand) do
begin
Parent := GridRep.Bands.DetailBand;
Color := GridRep.Bands.DetailBand.Color;
Left := CurrentLeft;
Top := CurrentTop;
Alignment:=Grid.Columns[i].Alignment;
AutoSize:=false;
AutoStretch:=true;
Width:=Grid.Columns[i].Width;
Dataset:=GridRep.Dataset;
DataField:=Grid.Fields[i].FieldName;
CurrentLeft:=CurrentLeft + (Grid.Columns[i].Width) + 10;
end;
end;
GridRep.PreviewModal;
finally
with Grid.DataSource.DataSet do
begin
GotoBookmark(BMark);
FreeBookmark(BMark);
EnableControls;
end;
end;
end;
← →
xroot (2006-03-09 13:28) [4]Неужели ни у кого нет идей
← →
Sergey13 © (2006-03-09 13:34) [5]Так ты в рантайме все это хочешь сформировать. Я думал в дизайне проблема.
В EhLib-е это реализовано. Скачай, посмотри, там с исходниками.
← →
xroot (2006-03-09 13:38) [6]А в QReport ни как? Просто не хо4ется исп. стороние компоненты.
А EhLib бесплатен?
← →
Sergey13 © (2006-03-09 13:39) [7]2 [6] xroot (09.03.06 13:38)
>А в QReport ни как? Просто не хо4ется исп. стороние компоненты.
Я ж не предлагаю использовать. Предлагаю посмотреть.
>А EhLib бесплатен?
До версии 3.6 да.
← →
xroot (2006-03-09 13:42) [8]На офсайте нет ссылок на старые версии, а 4.10 платная.
Где можно выкачать более ранние версии?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.03.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c