JDev 11g TP4: ADF tables and ADF form pop-ups PPR?

I was hoping somebody could help me with the following please.
I'm currently having a bit of an issue with ADF tables and ADF forms embedded in a pop-up, where the wrong record is shown in the popup. I suspect it's a PPR problem but am unsure. My scenario:
1) I have the following table:
CREATE TABLE "CHRIS_MUIR_DELETE_ME" (
"ID" NUMBER(5,0)
"SOME_COLUMN" VARCHAR2(20 BYTE)
CONSTRAINT "CHRIS_MUIR_DELETE_ME_PK" PRIMARY KEY ("ID"));2) I have a default ADF BC EO/VO combination for this table.
3) I have an ADF Faces RC page with a read-only table based on this VO:
<af:table value="#{bindings.ChrisMuirDeleteMeView.collectionModel}" var="row"
   rows="#{bindings.ChrisMuirDeleteMeView.rangeSize}"
   emptyText="#{bindings.ChrisMuirDeleteMeView.viewable ? 'No rows yet.' : 'Access Denied.'}"
   fetchSize="#{bindings.ChrisMuirDeleteMeView.rangeSize}"
   selectedRowKeys="#{bindings.ChrisMuirDeleteMeView.collectionModel.selectedRow}"
   selectionListener="#{bindings.ChrisMuirDeleteMeView.collectionModel.makeCurrent}"
   rowSelection="single" partialTriggers="myDialog">
  <af:column sortProperty="Id" sortable="false"
    headerText="#{bindings.ChrisMuirDeleteMeView.hints.Id.label}">
     <af:outputText value="#{row.Id}">
        <af:convertNumber groupingUsed="false" pattern="#{bindings.ChrisMuirDeleteMeView.hints.Id.format}"/>
     </af:outputText>
  </af:column>
  <af:column sortProperty="SomeColumn" sortable="false"
     headerText="#{bindings.ChrisMuirDeleteMeView.hints.SomeColumn.label}">
    <af:outputText value="#{row.SomeColumn}"/>
  </af:column>
</af:table>Note that rowSelection is set to "single".
3) The page also includes a popup-dialog combo that shows the same data from the table (ie. they're based on the same VO) as an ADF Input Form:
<af:popup id="myPopUp">
  <af:dialog type="okCancel" id="myDialog">
     <af:panelFormLayout>
        <af:inputText value="#{bindings.Id.inputValue}"
            label="#{bindings.Id.hints.label}"
            required="#{bindings.Id.hints.mandatory}">
           <f:validator binding="#{bindings.Id.validator}"/>
           <af:convertNumber groupingUsed="false" pattern="#{bindings.Id.format}"/>
        </af:inputText>
        <af:inputText value="#{bindings.SomeColumn.inputValue}"
            label="#{bindings.SomeColumn.hints.label}"
            required="#{bindings.SomeColumn.hints.mandatory}"/>
        </af:inputText>
     </af:panelFormLayout>
  </af:dialog>
</af:popup>Note that the table's partialTriggers is set to the id of the dialog. This implies on return from the dialog, the table will update itself to reflect any changes.
4) I have a data bound Create commandButton, + a simple Edit commandButton. The Edit button includes an <af:showPopupBehavior> to display the popup:
<af:commandButton
    actionListener="#{bindings.Create.execute}" text="Create"
    disabled="#{!bindings.Create.enabled}"
    partialTriggers="table1"/>
<af:commandButton text="Edit">
    <af:showPopupBehavior popupId="myPopUp"/>
</af:commandButton>If you run the form with the following steps, you can reproduce my issue:
1) Click the create button, this will create a blank record in the <af:table>
2) Click the edit button and give the 2 fields values, press ok. Note this is reflected back in the table.
3) Click the create button, you will now see another blank record in the <af:table>. Note that the current row selection highlight is on the new record.
4) In the table select the original record, then the Edit button. Oddly the input form is showing the blank record, not the original record even though we selected it in the <af:table>
This implies to me that I have to hook up a PPR event such that the fields on the popup know to update themselves when the user selects a new row in the table.
I've tried setting the partialTriggers property for the popup, dialog and individual fields on the popup page to the table id, but this doesn't seem to work.
Does anybody have any suggestions on how I'm meant to hook up the partialTriggers in this case? I'm at a bit of a loss to know what to do to solve this issue. Is it possible the table selectionListener isn't working?
Thanks for your help in advance.
Regards,
CM.

G'day gang
This morning I had a chance to play with Pavle's suggestions, specifically the popup contentDelivery option, and it's solved the issue. Specifically changing the contentDelivery option to lazyUncached was the golden solution.
As the popup component help states, the default functionality is: "lazy -- the default strategy described above. The content isn't loaded until you show the popup once, but then is cached."
....cached being the issue I was seeing.....
While the lazyUncached options states: "lazyUncached -- the content isn't loaded until you show the popup, and then is re-fetched every subsequent time you show the popup. Use this strategy if the popup shows data that can become stale."
The nasty thing about the lazy option is the fact that in the dialog it can show the previous cached result (even though you've selected a different record), and you can even appear to edit that cached result in the dialog, but when you press okay in the dialog and return to the previous table, it's updated the record you selected, not the cached result.
Confusing, but not a bug if you understand the popup contentDelivery options.
Frank, if you'd like it, I have the simple test case available to send you. But as it's not a bug I wont send it to you unless requested.
Thanks to both of you for your assistance with this one. Once again your help is much appreciated! :)
I'll take time out to blog about this in the next few weeks to assist others.
Thanks & regards,
CM.

Similar Messages

  • ADF table and ADF form on the same view object

    Hi,
    As per the ADF demos available on ADF site, I created a jsf page with 2 panels. One panel is an ADF table based on a view object. And the other panel is and ADF form based on the same view object. My requirement is that as I scroll through the records in the ADF table, the ADF Form should dynamically display the details of the record in the ADF table. My understanding is that this should be automatic. However, its not working as expected. What have I missed?

    Hi,
    Apply PPR for form that displays details.
    Like :
    <af:table id="t3">
    </af:table>
    <af:panelFormLayout id="pfl2" partialTriggers="t3">
    </af:panelFormLayout >

  • Display and edit currently selected row of ADF Table in ADF Form

    I have an ADF Read-only Table and ADF Form, which were created from the same Data Control.
    I need to be able to edit the selected row of the table in the form (just like in "Binding Data Controls to your JSF page" part of "Developing RIA Web Applications with Oracle ADF" Tutorial). However, I can't figure out how to do this :(
    I found the following solution on the Web: #{bindings.DeptView1.currentRow.dataProvider.dname} - but it doesn't work, since "the class oracle.jbo.server.ViewRowImpl does not have the property dataProvider".
    Sorry for the newbie question.
    Thanks in advance for any help!

    Hi,
    AFAIK, dataProvider is not supported on ADF BC, hence the error.
    If you have created ADF Read only table and form from the same data control you just need to refresh the form based on table selection to show up the selected record, to do which you just need to add partialTriggers property to the panelFormLayout and set its value to the id of table
    Sireesha

  • How can I print a report in JDev 11g TP4

    I am using JDev 11g TP4 .. in ADF application how can I print a report?
    Thank you
    Sameh Shokry

    You do file->print from your browser's menu I guess.
    There is also this:
    http://one-size-doesnt-fit-all.blogspot.com/2008/03/creating-printer-friendly-jdev-adf.html

  • Compile PL/SQL with JDEV 11g TP4 - Compile button missing ?

    Hi
    I have been working through the database development with Jdeveloper tutorial:
    http://www.oracle.com/technology/obe/obe11jdev/11/db_dev/obe_%20databasedevmt.htm
    this, as name suggests, discusses db development with jdev 11g TP4.
    However I seem to have an issue with the section named 'Creating and Debugging PL/SQL Objects in the Database'.
    In section 9 of 'creating a pl/sql package' the tutorial talks about a compile for debug button on the code editor. This essentially compiles the package against the DB, however in my Jdev, this button is does not exist. Is this just because this is only a tech preview version or is there some further config I need to do?
    Versions are..
    OS: Vista SP1
    JDEV: 11.1.1.0.0
    DB: 10.2.0.1.0
    Thanks in advance
    Will

    hi Will
    Maybe this is a beter forum for your question:
    "JDeveloper and OC4J 11g Technology Preview"
    JDeveloper and OC4J 11g Technology Preview
    success
    Jan Vervecken

  • PL/SQL compile button missing JDEV 11g TP4

    Hi
    I have been working through the database development with Jdeveloper tutorial:
    http://www.oracle.com/technology/obe/obe11jdev/11/db_dev/obe_%20databasedevmt.htm
    this, as name suggests, discusses db development with jdev 11g TP4.
    However I seem to have an issue with the section named 'Creating and Debugging PL/SQL Objects in the Database'.
    In section 9 of 'creating a pl/sql package' the tutorial talks about a compile for debug button on the code editor. This essentially compiles the package against the DB, however in my Jdev, this button is does not exist. Is this just because this is only a tech preview version or is there some further config I need to do?
    Versions are..
    OS: Vista SP1
    JDEV: 11.1.1.0.0
    DB: 10.2.0.1.0
    Thanks in advance
    Will

    hi Will
    Maybe this is a beter forum for your question:
    "JDeveloper and OC4J 11g Technology Preview"
    JDeveloper and OC4J 11g Technology Preview
    success
    Jan Vervecken

  • How to install PMD extension for JDEV 11g TP4 ?

    Hi,
    I tried to install PMD extension to JDEV 11g TP4 without success.
    Check for updates doesn't bring this extension.
    Tools --> Preferences --> extension brings following message:
    The ide.extensions or ide.noextensions system properties are set and override user extension preferences. To configure extensions, unset these properties and restart.
    Release notes of JDev 11g TP4 says:
    In this release, users are unable to manage extensions from the Tools > Preferences, Extensions page. The user will instead see the following message:
    The ide.extensions or ide.noextensions system properties are set and override user extension preferences. To configure extensions, unset these properties and restart.
    Is there a other way to add this extension?
    regards
    Peter

    Hello John,
    But for TP1 there was an extension available.
    http://www.oracle.com/technology/products/jdev/101/update/exchange.xml#net.sourceforge.pmd.jdeveloper
    Does anyone know if PMD JDeveloper extension will be available in production release?
    regards
    Peter

  • JDK dependency of adf bc and adf client

    Hi!
    We want to build an application which needs to run under jre 1.4.2.
    Is it possible to build an application which use adf bc and adf client or are they dependent from jre?
    How can I find which version of this libs run under which jre?
    kind regards
    Torsten

    May be this is of help.
    I guess you have to stay with 10.1.2.1 version of jdev. Still you can use 10.1.3 and configure it to use jdk 1.4.2 for you application, but you have to take care of the adf libraries you use (if they are 1.4.2 compatible).
    Timo

  • JDEV 11G TP4 [BUG]: Offline Database / Copying from another workspace

    see JDEV 11G TP4 [BUG]: Offline Database / Copying project from workspace
    Message was edited by:
    micwic

    I completely reinstall JDev and set it to use subversion ... that resolve the problem and i'm no more in a position to reproduce it.

  • Link scanner agent and loader agent pop ups that won't go away

    Link scanner agent and loader agent pop ups won't go away.  How do I get them to stop?

    the same thing has been happening to me for a while, it doesnt seem to affect anything but i would like to get rid of it, i feel like it might be a bug.

  • Refresh adf table and selection row

    Hi,
    I create web application. I have created entity Users from MySQL database and managed Bean. In this managed Bean (sessionScope) is method for connection to database and method for adding new row (data) in database. It works.
    I have 2 problems.
    The first.
    I have form for adding User and commandButton Add.
    How I can refresh (update) adf table after executing SQL command (in commandButton Add) ? Now I must reconnect session.
    The second problem:
    I want to show a panel with data from one row from adf table.
    How I can selection this row in popup ?
    My table:
    <af:table var="user" rowBandingInterval="0" id="t2"
                                                  inlineStyle="margin:20px 30px; width:578pt; height:160pt;"
                                                  value="#{userController.users}"
                                                  rows="15"
                                                  emptyText="#{bindings.UsersprototypView11.viewable ? 'No data to display.' : 'Access Denied.'}"
                                                  fetchSize="#{bindings.UsersprototypView11.rangeSize}"
                                                  editingMode="clickToEdit" rowSelection="single"
                                                  selectedRowKeys="#{userController.selectedUser}"
                                                  selectionListener="#{userController.selectedUser}"> ---- Here I have problem.
                                            <af:column sortProperty="#{user.user_id}"
                                                       sortable="false"
                                                       headerText="ID"                            
                                                       id="c11" width="33">
                                                <af:commandLink id="ot34" text="#{user.user_id}">
                                                    <af:showPopupBehavior popupId="p4" triggerType="action"/>
                                                </af:commandLink>
                                            </af:column>
                                            <af:column sortProperty="#{user.firstname}"
                                                       sortable="false"
                                                       headerText="Firstname"
                                                       id="c20" width="111">
                                                <af:outputText value="#{user.firstname}" id="ot27"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.lastname}"
                                                       sortable="false"
                                                       headerText="Lastname"
                                                       id="c12">
                                                <af:outputText value="#{user.lastname}" id="ot31"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.address}"
                                                       sortable="false"
                                                       headerText="Address"
                                                       id="c9" width="95">
                                                <af:outputText value="#{user.address}" id="ot32"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.city}"
                                                       sortable="false"
                                                       headerText="#City"
                                                       id="c10" width="76">
                                                <af:outputText value="#{user.city}" id="ot33"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.username}"
                                                       sortable="false"
                                                       headerText="Username"
                                                       id="c7" width="102">
                                                <af:outputText value="#{user.username}" id="ot29"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.email}"
                                                       sortable="false"
                                                       headerText="E-mail"
                                                       id="c21" width="106">
                                                <af:outputText value="#{user.email}" id="ot28"/>
                                            </af:column>
                                            <af:column sortProperty="#{user.regdate}"
                                                       sortable="false"
                                                       headerText="Registration"
                                                       id="c8" width="108">
                                                <af:outputText value="#{user.regdate}" id="ot30">
                                                    <af:convertDateTime pattern="#{user.regdate}"/>
                                                </af:outputText>
                                            </af:column>
                                        </af:table>userController is name managed Bean.
    users is list of users.
    My panel window (popup):
    <af:popup childCreation="deferred" autoCancel="disabled" id="p4">
                                        <af:panelWindow id="pw9" title="Delete user">
                                            <af:panelFormLayout id="pfl6">
                                                <af:panelLabelAndMessage label="ID:"
                                                                         id="plam16">
                                                    <af:outputText value="#{userController.selectedUser.user_id}" id="ot50"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Firstname:"
                                                                         id="plam17">
                                                    <af:outputText value="#{userController.selectedUser.firstname}" id="ot51"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Lastname:"
                                                                         id="plam18">
                                                    <af:outputText value="#{userController.selectedUser.lastname}" id="ot52"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Address:"
                                                                         id="plam19">
                                                    <af:outputText value="#{userController.selectedUser.address}" id="ot53"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="City:" id="plam20">
                                                    <af:outputText value="#{userController.selectedUser.city}" id="ot54"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Username:"
                                                                         id="plam21">
                                                    <af:outputText value="#{userController.selectedUser.username}" id="ot55"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="E-mail:" id="plam22">
                                                    <af:outputText value="#{userController.selectedUser.email}" id="ot56"/>
                                                </af:panelLabelAndMessage>
                                                <af:panelLabelAndMessage label="Registration:"
                                                                         id="plam23">
                                                    <af:outputText value="#{userController.selectedUser.regdate}" id="ot57">
                                                        <af:convertDateTime pattern="#{userController.selectedUser.regdate}"/>
                                                    </af:outputText>
                                                </af:panelLabelAndMessage>
                                            </af:panelFormLayout>
                                            <af:commandButton text="Delete" id="cb18"
                                                              inlineStyle="width:80pt; margin:10px 0px 0px 0px;"/>
                                        </af:panelWindow>
                                    </af:popup>When I cut out row: selectionListener="#{userController.selectedUser}
    Popup (for deleting user) looks like this:
    http://imageshack.us/photo/my-images/404/popupc.jpg/
    I need to get the outputs from <af:outputText> in this popup.
    Thanks for help.
    Edited by: user9202624 on 26.2.2013 7:52

    thanks for answer.
    I added partialTriggers in af:table
    <af:table var="user" rowBandingInterval="0" id="t2"
                                                  inlineStyle="margin:20px 30px; width:578pt; height:160pt;"
                                                  value="#{userController.users}"
                                                  rows="15"
                                                  emptyText="#{bindings.UsersprototypView11.viewable ? 'No data to display.' : 'Access Denied.'}"
                                                  fetchSize="#{bindings.UsersprototypView11.rangeSize}"
                                                  editingMode="clickToEdit" rowSelection="single"
                                                  selectedRowKeys="#{userController.selectedUser}"
                                                  partialTriggers="::t1" >What next ? What should I do next ? Sry, I'm newbie in adf and jDev.
    Edited by: user9202624 on 26.2.2013 8:55

  • What are the differences between oracle adf 10g and adf 11g

    Could you please let me know what are the diff b/w oracle adf 10g and 11g, i tried in many user guides but i could not find it.
    Thanks in advance,
    Poli Reddy P

    893771 wrote:
    Hi all,
    I would like to know what the differences between Oracle and other NoSQL database are.
    When and why should we use Oracle?I suggest that you start here:
    http://www.oracle.com/technetwork/database/nosqldb/overview/index.html
    Is Oracle NoSQL database link with Big Data Appliance?Yes, Oracle NoSQL Database will be a component of the Big Data Appliance.
    Can we use map-reduce on a single personal computer? How should we install Oracle NoSQL database to use map reduce on a single personal computer?Yes, I believe you can run M/R on a single computer. Consult the various pieces of documentation available on the web. You may run Oracle NoSQL Database on the same computer that you are running M/R on, but it is likely that they will compete for CPU and IO resources and therefore performance may suffer.
    Do we also have eventual consistency with Oracle NoSQL database? Yes.
    Can we lose data if master node fails?If you run Oracle NoSQL Database with the default (recommended) durability settings, then if the master fails, a new one will be elected and data is not lost.
    Are transactions ACID with Oracle NoSQL database? How can we prove it?Yes, each operation is executed in an ACID transaction. The API has the concept of "multi" operations which allow the caller to perform multiple operations on sets of records with the same major key, but different minor keys. Those operations are also performed within a transaction.
    Charles Lamb

  • Synching ADF tree table and adf tree

    Hi,
    I am facing issue in syncing the data between adf treetable and tree
    Here is my use case
    I have one treetable and one tree in the UI..
    treeTable shows the hierarchical view and tree represents the flat view of the same data.
    If I delete the data in the tree view and then go to treeTable the deleted shows still show in this view and same happens in other case...
    Any pointer to this will be of great help
    Thanks

    Do you see that you are using difference object in below table gui def.
    snapshotList and snapshotList1.
    ADF code:
    <af:table value="#{bindings.snapshotList1.collectionModel}"
    var="row" rows="#{bindings.snapshotList1.rangeSize}"
    emptyText="#{bindings.snapshotList1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.snapshotList1.rangeSize}"
    width="53.5%" rowBandingInterval="0" id="t1"
    selectionListener="#{bindings.snapshotList.collectionModel.makeCurrent}"
    selectedRowKeys="#{bindings.snapshotList.collectionModel.selectedRow}"
    rowSelection="single"
    visible="#{viewScope.myBean.isFlat}"
    binding="#{viewScope.myBean.table}">
    Please generate getter and setter both.
    MB code..
    private RichTable table;
    public RichTable getTable() {
    return table;
    public void setTreeTable(RichTreeTable treeTable) {
    this.treeTable = treeTable;
    delete button is outside.. it is in a panelGroupLayout
    <af:commandButton text="#{vtsnapshotuiBundle.DELETE}"
    id="delete_id"
    disabled="#{viewScope.myBean.buttonDisable}"
    actionListener="#{my_delete_func}"
    Thanks,
    Hasim

  • ADF Tables and 508 Accessibility Complience

    How can I apply the 'headers' attribute to individual cells in an ADF table or, as an alternative apply the 'scope' attribute to row and column headers so that my screen reader, currently MS Narrator, will read the contents of each cell?

    Yes, I have verified that accessibility-mode is set to 'screenReader' - each row and column is also rendered with a 'select' control. I see that in the generated HTML for the table the scope="col" attribute for each header is being set but not "scope=row" for each row. I've also tried the NVDA screen reader as well - it can 'occasionally' read the contents of each cell using the keyboard arrow keys but it will not read column or row header names - so for large tables a vision impaired user wouldn't know the context for each cell value.
    To bring up another point, without the capability of inserting a 'headers' attribute for cell, a table containing multi-layer headings would be impossible for a screen reader to read.
    I've also noticed that for single one choice controls the screen reader does not read the label and control widget type until after the select event is generated - usually by pressing the down arrow key. Text entry controls work as expected.

  • How to add static data in ADF table using ADF 11g?

    Hi
    Can any one tell me how can I add static data in ADF table?
    Thanks

    You can try this one. I created this static table just for viewing purpose.
    Open Create View Object wizard
    Choose, “Rows populated programmatically, not based on a query” which is 3rd radio button option
    In Attribute tab, create some ‘Updatable’ Attributes
    Choose the AppModule in the final step.
    Drag and drop the view object as ADF table.
    Next, programmatically insert data in your backing bean.
            ApplicationModule applicationModule = this.getApplicationModuleForDataControl("TmpTableAppModuleDataControl");
            ViewObject vo = applicationModule.findViewObject("ProgViewObj1");
            Row newRow = vo.createRow();
            newRow.setAttribute("updAttr1", value1);
            newRow.setAttribute("updAttr2", value2);
            vo.insertRow(newRow);If you add this code in buton action you have to add button's partialTriggers to table id.

Maybe you are looking for

  • Need help to download csv file in application by writting to outputstream.

    HI All, Requirment of my client is donloading CSV file from portal. My approach  is: On clicking "Download" button in JSP I am calling an action in controller and from here I am redirecting call to DownloadCSV.jsp where i am writing to output stream

  • Error while doing Bank determination through FBZP

    Hi, I have copied Company code 0001 for creating my own. Some house bank data also got copied though its allowing me to define new House banks as per my requirement but while doing account determination I am getting the following error: "Clearing acc

  • Cross Tab Report

    Hi, I'm creating a report in Crystal 2008 for SAP Business One. This report is a sales report and i want to pull the data  from three tables namely Invoice Rows, Credit Memo Rows and Down Payment Invoice Rows. Other selections in the report include t

  • Why does firefox put a check mark on work offline?

    I have a problem with a fresh install of firefox. It seems to place a check mark on work offline. After removal it worked fine for a time & then firefox put a check mark back on work offline. Please help.

  • BPC 7.5 NW SP5 - Question regarding Transformation file for exporting data

    Hi Experts, I have a requirement to export data from a BPC application to App.server/UJFS. There are currently 13 dimensions in the application. The user requires the output file to contain only three dimensions followed by the amount(signdata), name