Oracle Apex - Interactive Grid rows values are repeating in other rows by clicking - oracle

I'm having this issue in Oracle Apex where I want to create a Master/Detail page with interactive grids for each section. The problem is that for some reason, when I click to edit rows in the detail grid, the values seem to "copy" into other fields too.
This is my grid when the values get copied when clicked in other row
For the master grid, this doesn't seem to happen.

Silvio.
I had the exact same problem.
I found myself that i defined the wrong column as primary key on the detail IG.
Try it and let me know if helped.
Have a nice day.

Related

How to enable interactive grid cell validation in Oracle Apex Master-Detail page?

I have created a Master-Detail page in my Oracle APEX application. Basically i have a list of rows from one table and I can add values to it though a form. That works correctly, validations also work (every column from Master form can be accessed by adding ":" in front and that works in this case). I also have an option to edit click pencil icon in front of every row which lets me to update current row and also displays the Detail part of that row. Detail part is a list of values from another table that is connected to the first one using foreign key (Master-Detail: one to many). It is automatically displayed as interactive grid, so when editing my Master table value I can also add new rows to Detail table, but the validations don't work for Detail table. I tried accessing it's columns the same way as before, but it just doesn't work (tried to add PL/SQL expression validation:
:column >= 0
but that didn't work. How can I enable the validation for interactive grid, because I've looked into some resources about it, but they just show the first way, that doesn't work for me?
For a validation on an Interactive Grid you need to set the attribute "Editable Region" for the validation to your interactive grid. That works ok for me. I tried with a Master Detail on Dept (Master) and Emp (Detail) with a validation on detail of :SAL > 1000

How to disable a multi-row push button for all rows except the current one in Oracle Forms?

I have a form that returns multiple rows with a single push button that is displayed at the end of each row. The form allows a user to insert a new row at the end. Whilst a new row is being inserted, I do not want the users to be able to use the push button on any other row other than the current one they are inserting.
I have tried using SET_ITEM_PROPERTY and SET_ITEM_INSTANCE_PROPERTY to disable the other buttons however this just disables the button for all rows including the one I am inserting.
I'm still quite new to Oracle Forms so has anyone any ideas as to how I can solve this problem?
If it matters i'm using Forms 10G.
Thanks.

Set data validation for column including new rows

I have a column in a Google spreadsheet with data validation, that makes a drop down menu available when editing existing rows. Occasionally though contributors create new rows at the bottom of the doc and this validation is lost.
I would like to keep this validatation in the column even in newly created rows (excluding the header row).
I have seen much of this discussion throughout stackoverflow and google help forums, but still cannot find a clear answer.
My hunch is that this would involve Google Apps Acript using an onEdit trigger and then either paint formatting or a combination of the confusing class DataValidationBuilder. (https://developers.google.com/apps-script/reference/spreadsheet/data-validation-builder) but I'm not sure beyond that.
While not necessarily elegant I found the following to work:
create your validation on the entire column
once that's done click the cell(s) that represent the heading, select data / validation, and then click on 'remove validation' on that single cell.
This way any newly inserted rows will inherit the validation set up on the entire column and you don't have to always be reminded that your heading isn't a valid value.
onEdit trigger which uses Range.getDataValidation() and Range.setDataValidation() to copy the rule from an existing row to the new row
While in the data validation dialog screen you can manually enter the range as "Sheet1!A:A" to apply the formula to all of column A.
This also includes new rows added afterwards
I'm not sure if this is a new feature but this worked. Set the validation as list from interval and interval as:
'sheet'!C2:C
This includes all new rows excluding title(first row)

BIRT - pagebreak in a table with crosstab

I have a report (PDF output, 2.6.2) with a table containing crosstab (see attached files for a classic models example). After all report data there has to be a section for signs of peoples responsible for it. And there is strict demand that this section is preceeded with data (at least 1 row) and all signs must be together on 1 page.
Here is the image of what i should get.
I have a problem with page break, it is in a crosstab or in a table itself. I've tried to manipulate page break section in crosstab, crosstab rows, table sections - still no luck. I remember I was able to do this for a simple table without crosstab in it, so the problem is probably in crosstab.
I've shared the report without experiment changes. I need it in PDF, version 2.6.2.
Can anyone help?
I have shared the result of your report here View This I think you are expecting your report like this..
Crosstab and a table with signs must be in same table, then crosstab will have pagebreak. For a table with signs I've added visibility rule to show it on last page only.
There is same problem with nested tables, not only crosstabs.

How do I change the orientation of a table in a BIRT report

I need to change the orientation of a table in a BIRT report so that the table header is vertical instead of horizontal.
Is this possible? I don't want to use a Crosstab.
It seems this thread is still being pointed at so I posted an example of a horizontal table layout using a crosstab. I know it won't help the original author but others following this thread now may find this helpful.
To create the horizontal grouping, first create your query like normal, then create a Data Cube. In this data cube, drag each field that you want into a group. Then drag a new crosstab on the report and drag each field into the top right column group area. It will create a new header row for each field. Don't put anything in the left side (Rows) and don't put anything in the measure field (bottom-right). This will create labels on the left... and the data will extend out to the right.
The report design example can be downloaded from: http://developer.actuate.com/community/forum/index.php?/files/file/1079-horizontal-table-using-crosstab/
Virgil
If you want dataset records to be reported across the page, this would have to be done via a crosstab.
If you want dataset records to be reported down the page, this can't be done automatically as far as I know. However, it can be done by inserting a new detail line in your report table object for each database field to be reported, then moving column headings from the heading row into the first column's detail rows and moving record values into the second column's detail rows.
So, for example, a report with 6 columns in it would become a two column report with six detail rows.
Not in box (up to 3.7). You have to use 3'd party libs like that one.

Resources