Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2011, 06:53   #11
-=pasha=-
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 41
По умолчанию

В самом Fastrepot ничего интересного нет. На форме расположены frxReport1,frxCrossObject1,frxDBDat aset1. В отчете 3 бэнда и кросс.
на frxReport1 написан обработчик на событие OnBeforePrint
Код:
procedure TForm12.frxReport1BeforePrint(Sender: TfrxReportComponent);
var
  Cross: TfrxCrossView;
  i, j: Integer;
begin
  //ADOQuery1id_fiz_lica.Visible:=False;
  if Sender is TfrxCrossView then
  begin
    Cross := TfrxCrossView(Sender);

    ADOQuery1.First;
    i := 0;
    while not ADOQuery1.Eof do
    begin
      for j := 0 to ADOQuery1.Fields.Count - 1 do
        Cross.AddValue([i], [ADOQuery1.Fields[j].DisplayLabel], [ADOQuery1.Fields[j].AsString]);

      ADOQuery1.Next;
      Inc(i);
    end;
  end;
end;
Код копирнул из демки фастрипортовской, тока чуток под себя переделал
-=pasha=- вне форума Ответить с цитированием
Старый 25.01.2011, 07:11   #12
-=pasha=-
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 41
По умолчанию

Цитата:
Сообщение от vovk Посмотреть сообщение
Не совсем проблема понятна, псевдонимы для названий полей легко назначать в запросе или в TfrxDBDataset, что программно, что в дизайнере это особых пробем не вызывает.
в TfrxDBDataset псевдоним менял это ничего не дало.. Судя по всему из-за того что в OnBeforePrint все манипуляции производятся с ADOQuery

Последний раз редактировалось -=pasha=-; 25.01.2011 в 07:28.
-=pasha=- вне форума Ответить с цитированием
Старый 25.01.2011, 07:35   #13
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Cross.AddValue([i], [ADOQuery1.Fields[j].DisplayLabel], [ADOQuery1.Fields[j].AsString]);
И что мешает заранее заголовки столбцов переименовать? Всё равно тут ничего автоматически не сделается, заголовки на русском придётся гдето самому полям сопоставлять.
vovk вне форума Ответить с цитированием
Старый 25.01.2011, 07:47   #14
-=pasha=-
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
кстати, а если Вы добавляете руками в запрос одно поле. Потом CheckBox'ом выбираете только одно это поле - всё нормально работает? и название поля по русски в отчёте?!
Да так норм работает. А если другое поле отмечаю CheckBox'ом выпадает ошибка, типа не могу найти поле.. А если 2 поля отмечаю, то в отчет тянется только то, которое вручную занес

Последний раз редактировалось -=pasha=-; 25.01.2011 в 07:54.
-=pasha=- вне форума Ответить с цитированием
Старый 25.01.2011, 09:45   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

vovk +1

вот в своём коде и переименовывайте как хотите!
Лучше, через таблицу переименований.
Пример решения с переименованием "В ЛОБ"
Код:
var sFieldName : string;
...
      for j := 0 to ADOQuery1.Fields.Count - 1 do begin
        sFieldName := ADOQuery1.Fields[j].DisplayLabel;
        if ADOQuery1.Fields[j].DisplayLabel = 'BBBBB' then sFieldName := 'Вес';
        if ADOQuery1.Fields[j].DisplayLabel = 'NAIM' then sFieldName := 'Наименование';
        if ADOQuery1.Fields[j].DisplayLabel = 'KOLVO' then sFieldName := 'Количество';
        Cross.AddValue([i], [sFieldName], [ADOQuery1.Fields[j].AsString]);
      end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.01.2011, 11:15   #16
-=pasha=-
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 41
По умолчанию

Спасибо за помощь. Получилось чего хотел.
-=pasha=- вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Worksheets.Add() Skif-F Microsoft Office Excel 12 29.09.2010 10:04
Сложение(Add) Rymbil Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 22.01.2010 10:24
SQL.add Grom48 БД в Delphi 2 13.12.2009 16:42
Проблема с LogList.Add mellon Помощь студентам 0 08.12.2009 21:17
add project lalilulelo Помощь студентам 3 26.05.2009 10:18