DataDictionary question
I just ran through the "Adding Data Dictionary Support to the End-User
Application". Rather than chosing generate for the tables I selected "Add"
and added the table I wanted. For the fields I chose "Generate".
When I run the example the explorer opens and I create a new report. Once in
the report I chose Report - Data which shows the pipelines. The problem is
that is the only option. Where's the table I added to the
dataDictionary?
ppDesigner.DataDictionary is set accordingly.
ppDesigner.UseDataDictionary is set to true.
Any ideas?
Application". Rather than chosing generate for the tables I selected "Add"
and added the table I wanted. For the fields I chose "Generate".
When I run the example the explorer opens and I create a new report. Once in
the report I chose Report - Data which shows the pipelines. The problem is
that is the only option. Where's the table I added to the
dataDictionary?
ppDesigner.DataDictionary is set accordingly.
ppDesigner.UseDataDictionary is set to true.
Any ideas?
This discussion has been closed.
Comments
The Data Dictionary is to be used with DADE (the data tab of the report
designer). If you move to the data tab and try to add a new dataview, you
will see that the table you have selected in your Data Dictionary is the
only one available. For more information on this feature, I would recommend
reading pages 150 - 162 in the ReportBuilder Developer's Guide.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I opened the report at design time and selected the data tab. I still
couldn't add my table until I reconfigured the Data Connection section under
Data Settings.Why aren't the report's Data Connection properties begin set
to what I set in the ppDesigner? How do I set the data connection properties
at run time? They don't appear to be properties within the report itself.
Preston
The Data Connection settings in DADE are completely separate from the report
and any datapipelines you have on your form. DADE enables you to create
reports without the need of datapipelines and keep all data access local to
the template file. If you need to set these at run-time, you will do so
with the TppDesigner object rather than the report object.
My suggestion would be to spend some time reading about DADE in the
Developer's guide and working through each end-user tutorial located in the
\RBuilder\Tutorials\Complete\II. Applications\... directory. There are also
other end-user tutorials located in the \RBuilder\Demos\... directory.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
documentation is quite good, but in the explaination of DADE it's failing.
I'll read some more as well as looking at the other tutorials.
You said "If you need to set these at run-time, you will do so with the
TppDesigner object rather than the report object." Earilier I said I was
setting the designer object and wanted to know why the report was not
getting the settings???
Perhaps I am missunderstanding what you are ultimately trying to accomplish.
Please describe exactly what you are trying to do and I can advise on how
you should approach the problem.
Remember that DADE (data tab of the designer) was developed to allow you to
keep all your data access information local to the template. This is
specifically convenient when loading numerous templates that need to be
connected to separate queries in the same database. Before DADE, you would
need to have a separate datapipeline, sometimes more, on your form for each
of these templates. Now with DADE the TDataSet -> TDataSource ->
TppDataPipeline combination is replaced by the TdaDataView. Once you create
these dataviews, using the Query Wizard or Query Designer, the report will
see them as ordinary datapipelines during the design process (report tab).
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
The problem is that the ppReport's -> data tab's -> data settings -> data
connection does not get its settings from the ppDesigner (at runtime or
design time). The database name I use at design time is different than the
one used at runtime. At runtime I can set the ppDesigner's database name,
but I can't set the ppReports.
The original problem was that I couldn't see the tables I added to the
dataDictionary. Howver, they started showing up as soon as I manually
configured the dataConnection in the report.
Preston
If you are loading templates, the datasettings will be replaced with the
datasettings saved down with the template originally. If you are creating a
new report from scratch the datasettings should be as you set them at design
time or run time before calling Designer.Show.
Which database/connectivity are you using in your application?
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
designer. I followed the tutorial to do this.
At runtime when I created a new report from the explorer there were no data
piplines available. To fix it, in design time I manully configured my
reports dataconnection. New reports either dropped onto the form and hooked
up to the designer or created from the explorer at runtime do not get the
settings from the designer.
I'm using a TQuery with the BDE. The explorer works fine, creates folders,
etc..
Ok, let's start over. Please open the example located in the
\RBuilder\Demos\3. EndUser\1. Report Explorer\... directory. Taking a look
at the form design gives a good idea how data is flowing through an end-user
application in ReportBuilder. Notice there is a database object pointing
towards the \RBuilder\Demos\Data\.. directory and four TTable -
TDataSource - TppDBPipeline combinations. The Folders and Items tables are
required for the explorer to work correctly and the Tables and Fields tables
are required for the DataDictionary. Also notice that the visibility of
these pipelines are set to False in order to prevent the end-users from
actually connecting their reports to any of these pipelines when designing
their own reports.
Now if you run the app, you will see the explorer pop up. If you create a
new report you will notice there are not datasources available. This is
normal behavior. If you would like to give your users some datasources to
select you will need to place them on your form as TDataSet - TDataSource -
TppDataPipeline combinations or your users will need to create them using
the Data workspace (data tab). In other words, the DataSettings options
only affect DADE, they do not affect the datasources the Report can use.
If you take a look at the DataSettings of the designer at design time, you
will notice the database name is set to DBDEMOS. This is what the database
settings in dade will be set to by default when you create a new report. If
you change these settings, they will be reflected in dade when you try to
create new dataviews for your new report.
Moving on...
This is correct, you will not have any pipelines available unless they are
present and visible on your application form or data module or if you create
dataviews in DADE.
The dataconnection will only affect the creation of dataviews in DADE. This
will not affect the Report object in any way.
The Report object does not receive its data settings from the designer, if
you would like to manually set the datasource each individual report object
on your form will use, you need to use the DataPipeline property of the
report.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com