Forum Stats

  • 3,836,827 Users
  • 2,262,197 Discussions
  • 7,900,121 Comments

Discussions

Table refresh after insert shows empty cells

xDestinatioNx
xDestinatioNx Member Posts: 18
edited Nov 10, 2015 10:12AM in JDeveloper and ADF

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:

table1.PNG

Then after "refreshing" with the filter:

table2.PNG

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

Answers

  • Timo Hahn
    Timo Hahn Senior Principal Technical Consultant - Oracle ACE Director Member, Moderator Posts: 38,552 Red Diamond
    edited Nov 10, 2015 10:12AM

    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

    xDestinatioNx
  • kdario
    kdario Member Posts: 3,527 Silver Crown
    edited Nov 10, 2015 10:11AM Answer ✓

    You need to re-execute sql query after commit (with: vo.executeQuery() )

    Dario

    xDestinatioNx
This discussion has been closed.