Specifying the order of the tabs on the search panel
Hi,
We are now using RB 10.05. In a previous version of ReportBuilder (v 9
I think) it as possible to specify the order of the tabs in the search
panel during the design of a report. You could right click on a tab
and say 'Move left' or 'Move right'.
This doesn't seem to work anymore in 10.05. Have I missed something??
regards
Paul
We are now using RB 10.05. In a previous version of ReportBuilder (v 9
I think) it as possible to specify the order of the tabs in the search
panel during the design of a report. You could right click on a tab
and say 'Move left' or 'Move right'.
This doesn't seem to work anymore in 10.05. Have I missed something??
regards
Paul
This discussion has been closed.
Comments
From the Preview page of the designer I access the autosearch dialog and
press the right mouse button over the tabs. From the popup menu I can move
tabs left and right.
I did notice that when previewing a report that contains RAP code, the tab
order settings did not persist when leaving preview and then returning
again. When RAP is present, the designer saves the layout to stream prior to
preview and reloads it afterwards, thus any changes made during preview are
lost.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
The next question now is, can the order of the tabs be changed using
RAPand if yes how??
regards
Paul
- The TdaDataView.AutoSearchTabOrder property can be used to specify the
order of the AutoSearch notebook tabs. If you update one of them, you need
to update the others, so they will unique 0, 1, ...
- You can use eitther DataPipeline.DataView and AutoSearchFields[ ].DataView
properties to access the DataView. You will need to type case the dataview
as TdaDataView. (A third approach is to get the TdaDataModule associated
with the report and use the DataModule.DataViews[ ] array property).
- Below is a simple Delphi code example
- To implement in RAP, I recommend writing a custom pass-thru function
var
lDataView: TdaDataView;
liIndex: Integer;
begin
for liIndex := 0 to ppReport1.AutoSearchFieldCount - 1 do
begin
if (ppReport1.AutoSearchFields[liIndex].DataView is TdaDataView) then
begin
lDataView :=
TdaDataView(ppReport1.AutoSearchFields[liIndex].DataView);
lDataView.AutoSearchTabOrder := liIndex;
end;
end;
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Unfortunately we can't use Delphi code, these are end-user generated
reports. The application is already out in the field, so it is
difficult to use a custom pass through function at this point in time.
We can add this for the next release but we are looking for way to do
this in RAP code (since the order will be reset in reports using RAP
as you said earlier).
Are you saying it is impossible to do this in RAP at the moment??
regards
Paul
On Thu, 4 Oct 2007 10:13:36 -0500, "Nard Moseley \(Digital
I can compile this code in RAP...
var
lDataView: TdaQueryDataView;
liIndex: Integer;
begin
lDataView := TdaQueryDataView(Report.DataPipeline.DataView);
lDataView.AutoSearchTabOrder := 0;
end;
That code uses Report.DataPipeline to access the DataPipeline. In RAP code
you can also reference a datapipeline by name. So you could code
Customer.DataView where 'Customer' is the name of the datapipeline.
The other example I posted will not compile because
TppAutoSearchField.DataView is not currently defined to the RAP RTTI. We
will add RAP RTTI support for that property for the next release.
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
will try the code,
thanks Nard
On Fri, 5 Oct 2007 09:05:12 -0500, "Nard Moseley \(Digital
While you are making changes can I ask for another one??
Would it be possible to toggle the visibility of SearchTabs in RAP??
Often we have several pipelines that use the same search criteria.
We propagate the search values from one tab to another, but all has to
be done in RAP since these are end-user specific reports.
Being able to not show search tabs would be a great enhancement
thanks
Paul
regards
Paul
On Fri, 5 Oct 2007 09:05:12 -0500, "Nard Moseley \(Digital
Here is an example that shows how to propogate an auto search value to more
than one query.
www.digital-metaphors.com/tips/ApplyAutoSearchValueTo2ndQuery.zip
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
The example I posted contains a solution in RAP.
If you find other tasks that can be accomplished in Delphi code but not in
RAP code, then you can easily extend RAP...
--------------------------------------------------
Article: Extending RAP
---------------------------------------------------
There are two very simple and powerful techniques to extend the capabilities
of RAP infinitely. These are summarized below and covered in more detail in
the RAP.hlp online help. Demos and tutorials are installed to
RBuilder\Demos\RAP. The tutorial text is located in RAP.hlp.
1. RAP Pass-Through Functions
These are functions that appear in the Language tab of RAP's Code Toolbox.
These functions are written in Delphi and can be called from RAP. RAP's
pass-through function architecture enable's developers to add new built-in
functions to RAP's code toolbox.
2. Extend RAP's RTTI
RAP's Run-time Type information defines what classes and properties can be
accessed via RAP. By default the published properties of any class that is
registered with Delphi's RegisterClass procedure is recognized by RAP. In
addition many of the public properties and methods of ReportBuilder classes
are exposed.
--
Tech Support mailto:support@digital-metaphors.com
Digital Metaphors http://www.digital-metaphors.com
--
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com