nardmoseley
Comments
-
Yes. TraTppReportRTTI is defined in ppReport.pas. You could descend from
this class and add more properties. Then in the initialization section of
your unit unregister the existing class and register your custom RTTI class.
You will need to extend RAP with one or more custom functions to do what you
need.
(Not all properties and functions are exposed to RAP.)
--------------------------------------------------
Article: Extending RAP
Use the Report.OnGetAutoSearchValues event to access the AutoSearchField
values entered by the user.
The Report.AutoSearchFields[] array provides access to the autosearch fields
associated with a report. The AutoSearchFi…
The ReportBuilder AutoSearch feature is designed to handle parameterized
queries that display an ask-at-runtime
1. Use the Query tools provided by the Data workspace to create query
dataviews. Use the Search tab of the Q…
1. As a simple base line test configure a set of simple one page reports to
print with each of the required settings and test to determine whether that
works. (Perhaps you have already done this).
2. Once you get number …
RAP has limited supported for typecast. When you use it in an expression
like that, it does not work correctly.
The solution is to use a local variable to store the typecast reference.
var
lSubReport: T…
My mistake, I was not thinking about RAP not having access to the Sender.
I created a patch for RB 9.02 that adds a NodeCreator parameter to the
OnOutlineNodeCreate event for RAP. I will email it to you.
--
I think the Sender parameter of the OnOutLineNodeCreate event is the Report,
SubReport, or Group that is creating the node.
--
Nard Moseley
Digital Metaphors Corporation
in Building a Outline Tree Comment by nardmoseley September 2005
RAP does not currently support DataPipeline events.
Can you provide more details about what are you trying to accomplish?
Perhaps there is an alternative approach.
--
Nard Moseley
Digital Meta…
Access the childreport.MainReport property and typecast it as TppReport.
Example:
var
lMainReport: TppReport;
begin
lMainReport := TppReport(Report.MainReport);
lMainRepor…
To customize the autosearch dialog, please see
RBuilder\Demos\AutoSearch\Custom AutoSearch Dialog. The technique does not
involve RAP at all.
a. Step 1
Create a custom autosearch dialog and register it for use…
I do not understand this question. You can create a RAP RTTI class that
describes any class.
This example shows how to iterate over the RAP programs associated with
Report's TraCodeModule.
Try the following
lsFieldValue := myPipeline.FieldObjects['SomeBlobField'].AsString;
The myPipeline.FieldObjects[] provides access to the TppField object. The
TppField object has an AsString function.
The example passes the DataPipeline object to the TdaSQLBuilder constructor.
lSQLBuilder := TdaSQLBuilder.Create(Customer
All of the components in ReportBuilder have a UserName property that is used
by RAP to resolv…
I had never tried using TdaSQLBuilder to modify the sql text, so I gave it a
try and it appeared to work.
I tried a Delphi example and then a RAP example - see both below. I used the
RB 9.02 and the BeforeOpenDataPipelin…
I would try to get this working using Delphi code and then code a pass-thru
function that can be called from RAP.
--
Nard Moseley
Digital Metaphors Corporation
One option is to use the Report.OnInitializeParameters that was added for RB
9.
The Report.BeforeAutoSearchDialogCreate event can also be used. However,
note that this event will only fire if the Report.AutoSearchFieldCo…
The ReportBuilder RichText is wrapper around the Delphi TRichEdit class. The
properties of the RichText.Paragraph object can be used to set the alignment
of the selected text (i.e. the RichText.SelText).
You will need to…
Upate to RB 9.03.
If you are a registered user of RB 9.x and did not receive notifaction about
RB 9.03, please email info@digital-metaphors.com with your serial number and
registration information and request it.
I researched this and have created a patch for RB 9.02.
Another alternative is to access AutoSearch.SearchExpression property. It
always returns the string entered by the user. (But I realize in this case
you are looking…
I cannot reproduce either one of these in my testing here and we have had no
reports of any compatibility issues between upgrading reports written in RB
7.x.
Perhaps you have a corrupt installation. Try following the ins…
Those are simple integer constants. If applicable you can use any of the
constants defined in ppTypes.pas. Otherwise defin and use your own custom
id's. Sorry if that was not clear.
--
Nard Moseley
1. Event prop list
If the event is not published, then override the GetEventList method and add
it to the list. (if its published it will be added automatically).
2. Event Id
For each event, you need to h…
That syntax provides read-only access to the values. To set a value use the
following:
Report.Parameters.Items['paramName'].Value := CurrentDate;
--
Nard Moseley
Digital Metaphors Corporation
<…
If you would like to create a simple example that we can run here, email in
zip format to support@digital-metaphors.com. Please use standard Delphi
components and RB.
I do not recall there being any variable issues with RB 7.04.
For calculations, make sure that you use TppVariables and the
TppVariable.OnCalc event to perform the calculation. As an example, check
out the RAP demos.
There is not a way to catch an exception in RAP. Therefore, I suggest
creating a pass-thru function that returns a boolean indicating a successful
load. Define a function that takes two parameters: the TppImage object and a
f…
This message has been cross posted, refer to the Devices newsgroup.
Please do not cross post messages. TIA
You could do that also - connect the subreport to the same datapipeline.
Each report/childreport will traverse the datapipeline to which it is
assigned.
I was originally thinking of creating a second SQL query that summa…
One way to do this is to use SQL to create a summary query that contains the
grouped calculations. Then use a subreport in the summary band. The
subreport can traverse the summary query and generate the results.