|
#1
|
|||
|
|||
Отчеты
Вот такая проблема:
Хочу создать отчет "главный-подчиненный" с помощью двух таблиц(одна главная, другая подчиненная). Связи между ними есть, но когда выбираю пункт "Tools-ReportWizards-Master/Detail Report" в проге RaveReports вылетает сообщение, что нужно создать 2 DataView, хотя они у меня есть. И еще - когда пытаюсь создать второй DataView, вылетает ошибка, что он уже создан, хотя это не так. И еще такой вопрос - почему при создании нового(простого) отчета при создании нового DataView, вылетает ошибка, что он как бы уже создан, и вместо всех полей в списке оказывается только одно(первое)? Последний раз редактировалось ozornik, 11.12.2006 в 06:48. |
#2
|
|||
|
|||
Напиши подробнее как ты подключаешь отчет
|
#3
|
|||
|
|||
Значит так:
Размещаю на форме Table1, DataSource1, DBGrid1, RvDataSetConnection1. Подключаю к Table1 файл бд, указываю свойство RvDataSetConnection.DataSet - Table1 и запускаю RaveDesinger. Создаю новый DirectDataView, указываю соединение RvDataSetConnection1 и жму Finish. Вот тут и возникает проблема - вылетает сообщение о том, что яко бы уже DataView1 уже создан, хотя отчет я создаю с нуля, а в списке полей находятся одно или два первых поля. Я уже все перепробовал, но так и не понял, в чем проблема. |
#4
|
|||
|
|||
Хм.. Все верно. Должно работать.
Попробуй подключить Rave напрямую к таблице без Delphi.
Последний раз редактировалось ilang, 12.12.2006 в 13:40. |
#5
|
|||
|
|||
Ошибок при работе не возникает, но есть пара вопросов.
При формировании отчета не получается присвоить компоненту свойство DataView, поскольку там ничего не отображается(хотя соединение есть). И еще - каким образом можно соединить отчет с программой, т.к. этот отчет работает при помощи запроса, а на выходе должен получиться отчет с определенным набором данных. |
#6
|
|||
|
|||
Цитата:
Не совсем понял о каком компоненте ты говоришь. По поводу второго вопроса: Для соединения твоего приложения и Rave отчета имеются неколько компонентов: -TrvDataSetConnection - для подсоединения наследников TDataSet к DirectDataViews -TrvTableConnection - для подсоединения компонентов типа TTable к DirectDataViews -TrvQueryConnection - для подсоединения компонентов типа TQuery к DirectDataViews -TrvCustomConnection - для подсоединения не TDataSet данных (массивы, файлы и т. д.) Теперь Давай снова по пунктам. )
Еще вопросы есть? ) |
#7
|
|||
|
|||
Вот вопрос:
"Создаем новое подключение File | New Data Object | Direct Data View и выбираем MyConnection В разделе Data View Dictionary появляется DataView1 со всеми полями таблицы" Вот как раз на этих двух этапах возникает эта вся заморочка. Появляется в списке DataView1, но в списке полей находится только одно поле, хотя в этой таблице, которую я подключаю, их 8. Причем при создании вылетает ошибка, что DataView1 уже создан, хотя ни одного DataView пока нет. Как думаешь, может просто RaveReports по-страшному глючит? |
#9
|
|||
|
|||
Товарищи Проблема
вот с чем столкнулся:
procedure TForm1.PDFButtonClick(Sender: TObject); begin RvRenderPDF1.EmbedFonts := True; MS.Create; //обнулить данные в потоке with RvNDRWriter1 do begin SetFont('LMUkrLine',12); //установить шрифт Start; //начинаем писать Println('Привет всем! Меня зовут Windows.'); //пишем с переводом на след. строку Println('Я не дружу с русскими шрифтами.'); Finish; //конец записи end; RvRenderPDF1.PrintRender(MS,'D:\Test\test'); //поток в файл end; вот с этим шрифтом все по русски!!! если же не этот шрифт а другой стандартный какойнить, по в выводе такие каракули это жесть, выход вроде просто копировать этот шрифт при установке проге ну или при запуске в папку виндовс\фонтс .... НО!!!! а если юзер не админ на компе то как тогда быть можно ли указать путь к этому шрифту или воопще кто встречался с проблемйиероглифов в Rave Report (5.0.04 (VCL7) - у меня такая версия). |
#10
|
|||
|
|||
почему
при этом при создании отчетов в HTML и ТХТ все в порядке каой был бы шрифт я не выбрал почему???????????
|
#11
|
|||
|
|||
товарищи
а что ваще никто никак не знает ничего?
|
#12
|
||||
|
||||
Кодовое слово UNICODE, и еще - новый вопрос - новая тема, тему не выделяю - предупреждение делаю, не обессудь
|
#13
|
|||
|
|||
Н-да.. UNICODE конечно хорошее слово.. Но вот куда его в данной ситуации применить - загадка )
|
#14
|
|||
|
|||
А как с помощью Rave взять какое нить значение переменной "х" из программы и вывести это значение в отчете:
|
#15
|
|||
|
|||
Цитата:
Есть несколько способов сделать это. Приведу два из них. 1. Использовать компонент TRvCustomConnection. Он работает наподобие других компонентов соединения с данными, но управлять строками отчета придется вручную (события OnGetCols, OnGetRows - читай документацию к Rave). 2. Непосредственно изменять свойства объектов, имеющихся в отчете. Для работы с проектом и его объектами реализовано несколько классов - TRaveProjectManager, TRaveReport, TRavePage и т. д. В общем алгоритм такой:
Пример.
Код:
... uses ..., RvClass, RvProj, RvCsStd; ... var RaveComponent : TRaveComponent; ... begin with Form1 do begin //Активируем отчет "Report1" RvProject1.SelectReport('Report1',true); //Получаем доступ к компоненту "Text1", который находится на 1-й странице RaveComponent := RvProject1.ProjMan.FindRaveComponent('Text1', RvProject1.ProjMan.ActiveReport.FirstPage); //Меняем свойство текст компонента "Text1" (RaveComponent as TRaveText).Text := 'New text'; //запускаем отчет RvProject1.Execute; end; //with Form1 end; Думаю достаточно понятно все изложил )) |