1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Quickreporte свойство Preview

Тема в разделе "Delphi - программирование", создана пользователем E_Korobko, 22 июл 2005.

Статус темы:
Закрыта.
  1. E_Korobko

    E_Korobko Гость

    Репутация:
    0
    Подскажите, пожалуйста, почему в QuickReporte свойство Preview табличка выводиться некорректно: каждая строка дублируется по 2 раза, между строчками большое расстояние и маленькая табличка получаеться разбросанной на 2-х листах.
     
  2. Barmutik

    Barmutik Гость

    Репутация:
    0
    Ну судя по всему как Вы построили отчёт так он и показывается ...
     
  3. Ego

    Ego Гость

    Репутация:
    0
    Подскажите, пожалуйста, как можно передать результат запроса в текстовый файл(или ворд).
     
  4. simon

    simon Гость

    Репутация:
    0
    Как по мне, намного проще и удобнее для построения отчетов пользоваться компонентом FastReport ( бесплатный вариант - FreeReport). Найди его ( или давай скину те на мыло), и лиши ся проблем...
     
  5. E_Korobko

    E_Korobko Гость

    Репутация:
    0
    Скинь, если можно!
    E_Korobko@mail.ru
    Заранее спасибо!
    :)
     
  6. Guest

    Guest Гость

    Репутация:
    0
    Лови...
    Скажешь, нормально скачал... а то у мя в данный момент нет доступа к нормпльному SMTP, гемороился 3 часа резал через mail.ru...
     
  7. simon

    simon Гость

    Репутация:
    0
    Там разберешся, восемь архивчиков (порезаный) - компонент, и один - доки...
    Удачки...
     
  8. Poseidon

    Poseidon Гость

    Репутация:
    0
    <!--QuoteBegin-E_Korobko+22:07:2005, 10:42 -->
    <span class="vbquote">(E_Korobko @ 22:07:2005, 10:42 )</span><!--QuoteEBegin-->Подскажите, пожалуйста, почему в QuickReporte свойство Preview табличка выводиться некорректно
    [snapback]22434" rel="nofollow" target="_blank[/snapback]​
    [/quote] О какой именно табличке рачь? О DBGrid? Тогда вот:


    Код:
    {Для начала создайте новую форму, назвав её TGridReport, и поместите на неё TQuickRep. Переименуйте QuickRep в GridRep. Затем сделайте следующию процедуру, которая получает в качестве параметра DBGrid: }
    
    procedure TGridReport.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; 
    
    {Запись, на которой пользователь останавливается в DBGrid} 
    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; 
      {Создадим заголовок отчёта при помощи QRLabels} 
      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; 
      {Создадим тело отчёта при помощи QRDBText} 
      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) + 15; 
      end; 
     end; 
    
     lblPage.Left := bdTitle.Width - lblPage.Width - 10; 
     lblDate.Left := bdTitle.Width - lblDate.Width - 10; 
    
     {Далее вызовем метод предварительного просмотра из QuickRep} 
     GridRep.PreviewModal; {либо, если желаете, то PreviewModal} 
    
    finally 
     with Grid.DataSource.DataSet do 
     begin 
      GotoBookmark(BMark); 
      FreeBookmark(BMark); 
      EnableControls; 
     end; 
    end; 
    end; 
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей