I have an Interactive Grid with a really simple select list (two values only):
No
Submitted
This is an editable IG, when I click on my select list column the value automatically changes to 'No' (which is the one displayed first out of the two options) regardless of what I have on that row.
E.g.
This is row 1:
It had 'Submitted' as its value, but when I double clicked to edit, it automatically changed to 'No'.
Does anybody know how to fix this?
Thanks
(using Apex 22.1.3)
Related
I am currently using Oracle Apex version 18.2.0.00.12 on Internet Explorer on a computer running Windows 10.
I am having a problem with downloading an Interactive Grid as a CSV file.
On my Apex page I have an interactive grid and three page items. Two of the page items, P200_DATE_FROM and P200_DATE_TO, are Date Picker items. The other item is a button named "Submit" and its action is "Submit Page".
This is the query for my interactive grid:
select * from kat_test
where repairdate between :P200_DATE_FROM and :P200_DATE_TO;
There are four columns in the Interactive Grid:
Issue - Varchar2
Month - Number
Week - Number
Repairdate - Date
The only settings I changed in the Interactive Grid are the title and the SQL query.
I changed the Source of P200_DATE_FROM to PL/SQL Expression that returns the first day of the current month. It is set to be used "Only when the current value in session state is null". The expression is:
trunc(last_day(sysdate)-1, 'mm')
I changed the Source of P200_DATE_TO PL/SQL Expression that returns the current date. It is also set to be used "Only when the current value in session state is null". The expression is:
sysdate
When I run the page, it loads exactly as expected in the sense that the P200_DATE_FROM page item is populated with the first date of the current month, the P200_DATE_TO item is populated with the current date, and the interactive grid displays the correct data.
The problem: When I select Actions -> Download -> CSV, the CSV file downloads and opens as an Excel file, BUT only the header names are displayed. The cells underneath the headers are all empty. However, if I change one of the dates (or both) in the P200_DATE_FROM page item and/or the P200_DATE_TO page item and then press the submit button, the page is submitted and then when I click Actions -> Download -> CSV, the Excel file opens and all of the data is displayed perfectly (both the column headers and the data underneath the headers).
I don't understand why when I initially load the page, the CSV file for the Interactive Grid does not download correctly, but after I click the submit button the CSV file does download correctly.
Does anyone have any ideas?
Thank you in advance.
I think you just need to put the name of these items in the field "Items to submit" next to your SQL. When it downloads, I think it reprocesses SQL using the values of the items that are in the session. If you do not put those items there, the values do not go to the session. Enter the item names separated by a comma. After that, I think any changes is necessary in your SQL
Report's query, probably, contains a WHERE clause which looks like this:
where some_date between :P200_DATE_FROM and :P200_DATE_TO
Modify it so that includes NVL function whose second parameter reflects items' default values, i.e.
where some_date between nvl(:P200_DATE_FROM, trunc(last_day(sysdate)-1, 'mm'))
and nvl(:P200_DATE_TO, sysdate)
Run the page, download CSV; any improvement?
I have an interactive grid in an APEX application, and one of the columns (header ATTACHMENT) has URLs that open in a new tab. However, as part of the functionality of an interactive grid, I am unable to edit the URL within this column. All the columns are editable, but since I changed this column to a 'Link' the user cannot edit it. I also tried single row view, but same.
Is this possible?
Thanks
See my interactive grid
How about specifying the same column (attachment) twice? One would be used for editing purposes, and another one as a link. Something like this:
select
id,
attachment edit_url,
'Link' link_url
from your_table
ID is the primary key column
EDIT_URL is a usual Text Field
LINK_URL is a Link column
its "Query only" property has to be set to "Yes"
"Escape special characters" set to "No"
When you run the page, it'll show 3 columns; EDIT_URL will be editable. Once you modify that column's value and save the changes, LINK_URL will reflect that change and - when you click the "Link" word in that column, it'll lead you to the modified URL.
I have created an interactive report with a form. In the form I have two select lists. The first select list is a list of values defined in the shared component. And the second select list is another list of values which is also defined in the shared component but this select list populates its LOV based on the selected item in the first select list.
Let the names of the select lists are:
Region.
Country(which is dependent on the selected item in Region field).
Now when I press save/create button in the form, a row is created in the report. The Region column and Country column in the report are both "Plain Text(based on List of Values)". But what I see is the Region column is showing the correct display value of the LOV but the Country column is showing the returned value of the LOV.
I want both of these columns show the display values rather than the returned value. Could anyone help me find the solution?
Are you using the same LOVs in form and interactive report? If so and in the conditional LOV (countries) you refer your form item (ex. PX_REGION) it will not work correctly in IR. Probably IR is showing the returned value because the option "show extra values" is checked.
If this is the case my suggestion is to change your IR and instead of a "Plain Text(based on List of Values)" you make it plain text and change the query to an inline query in IR query to obtain the value you want to show.
If you don't want/like to put your LOV queries in different places I suggest you to use this approach shared by Nick Buytaert
Hope this helps you solve your problem.
I am new to SSRS and need to get this working for my project(work not school)
I have implemented the data to be hidden on expression
=IIF(Fields!Offset1.Value = "",true,false)
Problem is that It leaves the empty space where those values would have been in my Report. I need the space to disappear too. Any help would be GREATLY appreciated!!
EDIT: Forgot to mention that I am getting my data from a MS Access DB (if that matters)
After much head scratching and thinking about it differently. #django made me think visibility not hidden properties. I righ clicked the row header tab and clicked on the Row Visability... option. That brings up the Change display options dialog box. I selected the Show or hide based on an expression andthen the fx button to build the expression. The expression i used was
=IIF(ISNOTHING(Fields!Offset1.value),true,false)
clicked OK
Ran Preview and this is what i got as a result:
It sounds more like you need a 'visibility' on a grouping more than a hidden expression and you can use ISNOTHING() instead of = "". I believe (not sure don't quote me ;) ) that SSRS evaluates hidden to only hide values not the object container itself(the row). You may be better with your group or 'details' group to have an evaluative expression on the 'visibility' rather than an element you used instead. Let's give a very simple example to drive home the concept:
Create a simple dataset in a new report. DataSource does not matter as this is only a table variable that is self contained.
declare #Temp table ( Code char(1), Value int)
insert into #Temp values ('A', 1), ('B', 2), ('A',null);
select * from #Temp
Create a table from the toolbox and populate both columns with the data from your set.
Copy and paste this table right below itself in the report.
Now for the second report click anywhere inside it but in the lower left you should see 'Row Groups' in the 'Design' view of Business Intelligence Development Studio (or the web creator if you are using that). Right Click '=(Details1)' (or similar) and choose 'Group Properties.
Now select 'Visibilty' on the left pane. This relate to the entire grouping, not just a cell in an element. Hit the 'Fx' under 'Show or hide based on an expression'.
Enter in the expression:
=IIF( ISNOTHING(Fields!Value.Value) , true, false)
Preview the report. You should see the first table with three rows and the second table IGNORES the third row because it qualifies as nothing which it evaluates for the ENTIRE GROUPING to mean 'do not show'.
I haven't been able to find a solution for the particular problem I'm having with this project. I need to the following: dynamically add rows to a table that contain two select boxes AND use ajax to auto-populate the select options of the 2nd select box, based on the value of the first select box... in the respective table row (that was dynamically added on the fly by some js).
Still with me?
I can easily populate, dynamically, a select drop-down using ajax/javascript based on the value of the first drop-down, in the first row. I can even populate three or more select boxes in the same row, using ajax/js functions to load each additional select. Yet, this is not my goal.
Here's what I have... My form contains a simple table with 3 columns. First is a checkbox, the second is the "State" select box and the third column is the "City" select box. I have two buttons above the table that allow me to "Add Row" and "Delete Row". Mind you, the first row (which is programmed-in), works perfectly for loading the city names of a state using ajax.
Upon clicking the Add Row button, I'm able to create the second row dynamically, which contains the checkbox, state select and city select fields. The state select is populated based on the innerHTML content of the original column, but the city select is obviously null because it is expecting ajax to fill it. Note: the names and ID names of these fields are iterative... city_id, city_id_1, city_id_2, city_id_3 and so on... so I have that uniqueness to work with.
My problem lies in the fact that when I select a state from the 2nd or 3rd (and so on) rows, only the firstcity select changes. Why? Because the js/ajax processing function says to operate only on the element with name "city_id"!! Which is the name of the city select box in the first row.
I have not (yet) found a way to dynamically pass the name of the element I need updated to the onreadystate ajax function. When I've needed to populate two or three select boxes in a row (same row), I've had to have complementary ajax functions for each drop-down - which are static, mind you... but what if I create the element dynamically?? I can't pre-program that many functions into my page... or must I?
If you have any ideas on how to accomplish this I would be soo damn appreciative!!!
Thanks!
var i=1; // put here the number of the column being added now.
var x=document.getElementById("city_id_"+i);
// populate x