Discussions
Categories
- 197.1K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.7K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 555 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.3K SQL Developer
- 296.3K Development
- 17 Developer Projects
- 139 Programming Languages
- 293K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 158 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 466 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
Table refresh after insert shows empty cells

Hello experts,
I'm trying to insert custom values from some input fields into a table displayed on my page. The table comes from an Entity based VO with a sequence number and some Constraints.
The sequence number stacks automatically handled by the database.
The input fields are binded to a managed bean to get the value with "getValue()" and then I build a String for the input. The String gets afterwards splitted in the VO as some Attributes with the following SQL calculation for example:
REGEXP_SUBSTR(Attribute3, '[^,]+', 1, 5)
But this is on the Database/ViewObject Layer.
Following I invoke the method from the VO Impl to create the new row like this:
Managed Bean:
OperationBinding operationBinding = bindings.getOperationBinding("addRow");
operationBinding.getParamsMap().put("value1", someInt);
operationBinding.getParamsMap().put("value2", someIntToo);
operationBinding.getParamsMap().put("value3", someString);
operationBinding.execute();
VO Impl:
public void addRow(Integer value1, Integer value2, String value3) {
ViewObject vo = this;
Row newRow = vo.createRow();
newRow.setAttribute("Attribute1", value1);
newRow.setAttribute("Attribute2", value2);
newRow.setAttribute("Attribute3", value3);
vo.insertRow(newRow);
this.getDBTransaction().commit();
}
I'm catching no exceptions yet, but when I insert everything correctly and trigger the managed bean code via a button action, the table will show the new row with correct Integers, but the String splitted by the SQL calculation from above only shows as empty cells. After searching with the table filter and removing the filter search again, the Strings show up correctly.
For example, after insert:
Then after "refreshing" with the filter:
What can I do about this? I can't really insert the data via InsertWithParams, 'cause I need to build the String with some Java Code.
It only dont show the data after inserting, PartialTrigger(s) also wont work.
Best Answer
-
You need to re-execute sql query after commit (with: vo.executeQuery() )
Dario
Answers
-
Timo Hahn Senior Principal Technical Consultant - Oracle ACE Director Member, Moderator Posts: 38,552 Red Diamond
User, please tell us your exact JDev version!
I wonder where you splitt the string and how you add the resulting parts to the row. All I see is that you have an table update problem, but I don't understand why.
What you can do is to refresh the component the table resides in (e.g. the panelCollection) from the bean method with
// AdfFacesContext AdfFacesContext adfFacesCtx = AdfFacesContext.getCurrentInstance(); // PPR adfFacesCtx.addPartialTarget(input);
where input is the container component.
Timo
-
You need to re-execute sql query after commit (with: vo.executeQuery() )
Dario