APEX 3.2: Button to download interactive report data to Excel - oracle-apex

My requirements are to create two buttons. One button that will download all of the data in an interactive report (Select * from DB_TABLE). The other button will download the interactive report data based on filter items (Select * from DB_TABLE where Name = :P1_Name)
I thought about utilizing javascript:gReport.controls.download(); but that didn't seem to work.
Any ideas or sites you can point me to? Many thanks in advance.
And no, I don't know why they want two separate buttons to download the report instead of using the 'Download' button in the interactive report menu.

Set the Request value of the button to CSV, so your link looks like f?p=181:9:3839908094418724:CSV::::
This will only perform the default CSV download though. There is however no built-in way to get the query from an IR. What i mean by that is that an IR which has filters applied.
If you only want to download results which are filtered through page items in the where clause, and don't bother with any IR filters or such, you could set up a report on another page, and have your link for a second button target that page (with CSV in request, but do use a redirect). The browser will prompt you with a save dialog, but you'll not end up on the page.

Related

Oracle Apex IG modify Action Menu

I want to hide some specific features from IG's Action Menu.
I know how to to do it for example for highlight and stretch option
function(config){
apex.util.getNestedObject(config, "views.grid.features").highlight = false;
apex.util.getNestedObject(config, "views.grid.features").stretchColumns = false;
return config;
}
I can't find list of all features in that Menu. I want to keep only "Filtter", "Download" and "Help". Rest shouldn't be available.
And also how to hide column features with that configuration (I must do it here becouse it will be dynamic, depending on item). I want to keep only filter feature on columns.
When the page has been loaded, run apex.region("regionStaticId").call("option","config") in Browsers Developer Tools, to get the config object.
Now you can view and navigate through all options that has been currently set for the current Interactive Grid. This should give you an overview of all the other options you want to differentiate from.
The options you already found, views.grid.features.highlight and views.grid.features.strechColumns, are also in there.
For more information, see https://github.com/mgoricki/orclapex-ig-cheat-sheet
There are lots of examples and links to other blogs, on how to customize your Interactive Grid. Including the must read to John Snyders (member of the APEX Team) blog series about the Interactive Grid.

Multiple conditions on single button with Dynamic Action in Oracle Apex

Please see below screen shot I have one button "Add Row" on the top and items in a single row of Oracle Apex Form.
I have add 10 Rows with same items list on each click of the top button. Could you please help on this how can I achieve this.
if I understood you correctly and you want a dynamically determined amount of files to upload, there are many options for that
Easiest 1 - upload one at a time, and show the user older files that were uploaded.
Easiest 2 - Use the "Allow multiple files" option, and later on allow the user to edit names
https://jeffkemponoracle.com/2016/08/file-upload-improvements-in-apex-5-1/
Easy option:
Create a modal dialog form page for uploading the documents, and make the "add row" button a link to open that modal dialog page.
Harder option:
Using the APEX_ITEM package, and dynamic actions:
https://dzone.com/articles/super-dynamic-apex-forms-using-apex-item-and-dynam
If on the other hand you know you're always going to have 10 items uploaded, I suggest just creating them all in the app builder, and save time..

how to land to next page from first page in Google data studio

I am doing a two page report in google data studio.The two page contains different level information like suppose the first page is for income level information and the 2nd page contains demographic information. Both pages are related. I want to add a filter kind of thing (I don't know how I can do) on the chart if I click on a part(if it is a bar chart and if I click on one bar) of chart it should go to the second page which contains more information about that group from first page. How to do this I have googled a lot on this but could not find anything.
From your description I would suggest that you review the following documentation it describes what needs to be done in order to create links to pages in your report Create links to pages in your report
It is a simple process;
You can provide links that take viewers to specific pages in a report.
Edit your report.
In the toolbar on the top of the page, click Text [icon].
Enter the text to display, for example, "Page 2."
Select the text you just entered, then on the right, click Insert link.
Click Paste a link or select a page.
Select a page in this report, or choose a dynamic link.

Calling a non-modal dialog page passing IR report ID in page url

I am trying to change all popup pages in an app from normal page template to non-modal-dialog page template in apex 5.1
I'll try to describe the complete use-case:
I have an Interactive report page with link columns for each record which opens a dialog window where users can edit/interact with the record.
The dialog has Previous/Next buttons to allow users to navigate through the records.
When a filter is set on the report, the dialog window should take this into account in the Next/Previous behavior.
For e.g. if the report filter selects only one row, then the dialog window Next/Previous buttons are disabled because there are no more rows shown by the report to navigate through.
For this functionalities, I need to pass the IR-report ID to the non-modal page.
Now the href property of the link column in the IR report should be something like:
javascript:apex.navigation.dialog('f?p=123:40:12345678:::40:P40_SIGNAL_DEF_ID,P40_IR_REPORT_ID,P40_MODE:42,41982451655076402,E&p_dialog_cs=NwEcqexhNPGD1VziCXol65xHCP8',{title:'SIGNALS_DIGITAL',height:'auto',width:'720',maxWidth:'960',modal:false,dialog:null},'t-Dialog-page--standard '+'',apex.jQuery('#myStaticID'));
Only two parts in this link I am concerned about. One is the checksum part (p_dialog_cs=NwEcqexhNPGD1VziCXol65xHCP8) and other part is the IR report ID(41982451655076402) I used apex_util.prepare_url function in the SQL query but this is not returning IR report ID something like :
javascript:apex.navigation.dialog('f?p=123:40:12345678:::40:P40_SIGNAL_DEF_ID,P40_IR_REPORT_ID,P40_MODE:42,,E&p_dialog_cs=NwEcqexhNPGD1VziCXol65xHCP8',{title:'SIGNALS_DIGITAL',height:'auto',width:'720',maxWidth:'960',modal:false,dialog:null},'t-Dialog-page--standard '+'',apex.jQuery('#myStaticID'));
I am not able to get the IR report ID here I tried using $v("myStaticID_report_id") inside this query but not working(though it is working in console)
So right now I am calling apex_util.prepare_url with dummy string say 'report_ID' the result I am passing to a javascript function as an argument. In javascript function, I am extracting the url part of the string(because I need the checksum value) and then replacing the dummy variable with $v("myStaticID_report_id") and then calling apex.navigation.dialog from there.
Now its functional but this needs to be repeated in almost 70 pages in my application. So I want to know if there is a better way to do this.
Thanks in advance

Copy selected records from interactive grid to another one Oracle apex5.1

i am new to oracle apex and i am using oracle apex 5.1
i am trying the copy the selected records from an interactive grid in a modal page to another interactive grid in the main page (page calling the modal page).
i have tried many method like getSelectedRecords and setSelectedRecords, model.fetchRecords and many more but with no luck. The below method was the closest one to what i wanted to achive:
var labTemplateData = apex.region("modalInteractiveGrid").widget().interactiveGrid("getViews","grid").model._data;
parent.apex.region("parentInteractiveGrid").widget().interactiveGrid("getViews","grid").model._data = labTemplateData;
the data in parentInteractiveGrid was update (i checked it in chrome developer tools) but it was not shown in the grid. am i missing a refresh or update? Or is there a better way to do it?
thank you.
Google showed a good explanation of how to get the results of an Interactive Grid into a Collection. From there, you could save the collection to your table, then refresh your main page once you've closed the modal page.