ADF Table Multi Select Issue

Hi,
I have a read only table with multi select and a panel form based on the same VO. The from has editable component through which the user modifies the data.
When the user selects a single row in the table -> the form shows the corresponding data.
When the user selects multiple rows using cntrl key say ROW_1, ROW_2, ROW_3 the form displays data of ROW_3.
However after this if i click on ROW_1(single row selection) , the form still shows the data of ROW_3. How to show the correct data in from
My Jdev 11.1.1.4
Thanks
Ajay

Well, your use case is somewhat problematic. It doesn't make sense to have an edit form together with a multi select table, as the user can't be sure which row data he sees in the edit form.
This said, you need to know, that the af:table has two properties which should not used together: SelectionListener, selectecRowKey should not used with rowSelection="multiple".
For multiple select table you should not populate these properties. (http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/web_tables_forms.htm#sthref2010)
You can e.g. add a column to your table containing a link to allow edit of the row. Then you can use multi selection the normal way.
Timo

Similar Messages

  • [SOLVED :)] Need help with adf table row selection

    Hi,
    In my application I am displaying results in a table. The DisplayRow property of table is set to Selected
    There are Next and Back buttons which help user to view details associated to the next/previous rows.
    I am using ADF 11g
    When user clicks Next or Previous button, then the selection of the row should also gets updated
    To achieve this i wrote below piece of code:
    this.tblS.getSelectedRowKeys().clear();+
    this.tblS.setRowIndex(count);+
    RowKeySet rks =  tblS.getSelectedRowKeys();+
    rks.add(tblS.getRowKey());+
    rks =  tblS.getSelectedRowKeys();+
    ISSUE:_
    When i run application and click Next/Previous Button, all functionalities do take place properly, but a null pointer exception is also thrown._+
    If i remove DisplayRow property of table from Selected to Default, every thing works good and no Exception is thrown_+       
    But as records in my table are going to be around 50-60 everytime, i need to set DisplayRow property of table to Selected.
    Is there any way to achieve this? Solve this problem?
    Some more details:_
    I am using a POJO class to create DataController. This DataController is having a view Object which is used to create results table.
    I have defined Primary key for my POJO Data Controller.
    Here is code of xml file:*
    +<?xml version="1.0" encoding="UTF-8" ?>+
    +<JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="11.1.1.52.5"+
    id="ProductListBean" Package="xxadf.mm.resources"
    BeanClass="xxadf.mm.resources.ProductListBean"
    isJavaBased="true">
    +<Attribute Name="Product" Type="java.lang.String" PrimaryKey="true"/>+
    +<Attribute Name="Stock" Type="java.lang.String"/>+
    +<Attribute Name="Rate" Type="java.lang.String"/>+
    +<Attribute Name="Accuracy" Type="java.lang.String"/>+
    +<Attribute Name="Details" Type="java.lang.String"/>+
    +<ConstructorMethod IsCollection="true"+
    Type="xxadf.mm.resources.ProductListBean"
    BeanClass="xxadf.mm.resources.ProductListBean"
    id="ProductListBean"/>
    +</JavaBean>+
    Error Log:*
    SEVERE: Server Exception during PPR, #1
    java.lang.NullPointerException
    at oracle.adfinternal.view.faces.model.binding.RowDataManager.getRowIndex(RowDataManager.java:200)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.getRowIndex(FacesCtrlHierBinding.java:506)
    at org.apache.myfaces.trinidad.component.UIXIterator._fixupFirst(UIXIterator.java:414)
    at org.apache.myfaces.trinidad.component.UIXIterator.__encodeBegin(UIXIterator.java:392)
    at org.apache.myfaces.trinidad.component.UIXTable.__encodeBegin(UIXTable.java:168)
    at org.apache.myfaces.trinidad.component.UIXCollection.encodeBegin(UIXCollection.java:517)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeHorizontalChild(PanelGroupLayoutRenderer.java:458)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$100(PanelGroupLayoutRenderer.java:30)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:618)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:560)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:317)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:392)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$300(PanelGroupLayoutRenderer.java:30)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:641)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:560)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:317)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer.access$100(ShowDetailItemRenderer.java:31)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer$ChildEncoderCallback.processComponent(ShowDetailItemRenderer.java:491)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer$ChildEncoderCallback.processComponent(ShowDetailItemRenderer.java:464)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer._encodeChildren(ShowDetailItemRenderer.java:406)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer.encodeAll(ShowDetailItemRenderer.java:114)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adf.view.rich.render.RichRenderer.encodeStretchedChild(RichRenderer.java:1523)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer.access$500(PanelTabbedRenderer.java:38)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer$BodyEncoderCallback.processComponent(PanelTabbedRenderer.java:969)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer$BodyEncoderCallback.processComponent(PanelTabbedRenderer.java:920)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer._renderTabBody(PanelTabbedRenderer.java:519)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer.encodeAll(PanelTabbedRenderer.java:233)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
    at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:221)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
    at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:820)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1494)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:771)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
    at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:202)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
    at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:685)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:261)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:193)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:54)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
    at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Please Help I have been struggling with this issue for long.
    Thanks and Regards
    Manav Ratra
    Edited by: user11255144 on Feb 8, 2010 5:33 AM

    Hi Arun,
    Thanks for replying.
    Actually in my application there is one result table and a section that is displaying complete details of the product selectd in result table.
    The next/previous buttons are not binded with result table.
    What I am doing is, I am puuliing data from VO and displaying it on form, whenever any of these buttons is clicked.
    As soon as these buttons are clicked data is coming up, but selection state of table is not getting updated.
    So to update selection state i wrote piece of code described in my previous post.
    Everything works fine if displayRow property of table is not set to selected.
    If i set display row property of table to selected, then i get a null pointer exception with message log defined in previous post.
    Although NPE is thrown, yet all data is properly fetched and table selection is also updated. But am not able to get how this NPE is coming and hpw to fix it .
    (I need to keep displayRow = selected, for all other cases NPE is not thrown)
    Please help..
    Thanks and Regards
    Manav Ratra

  • 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

  • ADF table with select onechoice

    Hi,my scenario is:
    I have adf form and adf table on jspx page by vo(A).In table here there is need for select one choice populated from another vo(B).
    To acheive this i have created a transien attribue in vo(A) and bind to vo(B ) as select one choice.
    Now on value selected in selected one choice of adf table i want to filter value in another select one choice which is part of adf form on page.
    Please help me out.
    Thanks

    Hi,
    As I understand your requirement is how to build dependent LOV/selectOneChoice in ADF.
    Check this http://www.google.co.in/search?q=dependent+selectOneChoice+%2B+adf&btnG=Search&hl=en&source=hp&gbv=2&gs_sm=e&gs_upl=5656l8531l0l8687l10l9l0l2l0l0l360l1549l2-1.4l5l0&safe=active&oq=dependent+selectOneChoice+%2B+adf&aq=f&aqi=&aql=
    ~Abhijit

  • Adf Table with selection as set to NONE

    Hi,
    I having a scenario as explained below:
    I am populating records in to the adf Table
    After that I am using checkbox for selecting multiple records in the table and delete them.
    So I set selection property to None for the table. Because I want user to edit only that record which is checked.
    My multiple delete is working fine.
    Now if i selected one checkbox and and click on edit(which I have placed in the panal collection toolbar) it should show me the record in the which I have selected by check box. But it is showing me the first row.
    Can anybody help me to set the current row of the adf table manually which is having selection property as none. so that I can populate in popup.
    If some other way is available please explain.
    I am using jdeveloper 11.1.2.1
    Thanks,
    Sandeep.

    I don't see why you can't set selection property to "single"? (and don't forget to restore table SelectionListener property - if deleted)
    This will set current row when you click on it.
    If you programmatically iterate through RowSet to find rows with selected checkbox, this will work regardless of value in "selection" property.
    Dario
    Edited by: kdario on Nov 7, 2012 5:20 AM
    Edited by: kdario on Nov 7, 2012 5:22 AM

  • ADF Table vertical scroll issue in Chrome & Safari, works fine in FF & IE

    Hi,
    Jdeveloper 11.1.1.7.0
    ADF BC & ADF Faces
    I have a jspx page with a command link. On click of link, opening a popup. Displaying a ADF table inside popup dialog.
    Problem Statement :   I have set contentDelivery="immediate" & autoHeightRows="8" in ADF table. while running the application in Chrome & Safari and moving vertical scroll up & down rapidly, first few rows & last few rows are not visible respectively. But if i scroll up & down using scroll arrow it's working as expected.
    But there is NO issue while running the application in IE & FF and moving vertical scroll up & down rapidly.
    FF 26.0
    Safari 5.1.7
    IE 8.0
    Chrome 31.0.1650.63 m
    JSPX Code :
    [code]
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
      <jsp:directive.page contentType="text/html;charset=UTF-8"/>
      <f:view>
        <af:document id="d1">
          <af:messages id="m1"/>
          <af:form id="f1">
            <af:commandLink text="Customize" id="cl1">
              <af:showPopupBehavior popupId="p1" triggerType="action"/>
            </af:commandLink>
            <af:popup id="p1">
              <af:dialog id="d2" type="none">
                <af:panelGroupLayout id="pgl1">
                  <af:table value="#{bindings.XXXXView1.collectionModel}"
                            var="row"
                            rows="#{bindings.XXXXView1.rangeSize}"
                            emptyText="#{bindings.XXXXView1.viewable ? 'No data to display.' : 'Access Denied.'}"
                            fetchSize="#{bindings.XXXXView1.rangeSize}"
                            rowBandingInterval="0" id="t1" autoHeightRows="8"
                            contentDelivery="immediate">
                    <af:column sortProperty="#{bindings.XXXXView1.hints.ProductOrder.name}"
                               sortable="false"
                               headerText="#{bindings.XXXXView1.hints.ProductOrder.label}"
                               id="c4">
                      <af:inputText value="#{row.bindings.ProductOrder.inputValue}"
                                    label="#{bindings.XXXXView1.hints.ProductOrder.label}"
                                    required="#{bindings.XXXXView1.hints.ProductOrder.mandatory}"
                                    columns="#{bindings.XXXXView1.hints.ProductOrder.displayWidth}"
                                    maximumLength="#{bindings.XXXXView1.hints.ProductOrder.precision}"
                                    shortDesc="#{bindings.XXXXView1.hints.ProductOrder.tooltip}"
                                    id="it1">
                        <f:validator binding="#{row.bindings.ProductOrder.validator}"/>
                        <af:convertNumber groupingUsed="false"
                                          pattern="#{bindings.XXXXView1.hints.ProductOrder.format}"/>
                      </af:inputText>
                    </af:column>
                    <af:column sortProperty="#{bindings.XXXXView1.hints.SerialNo.name}"
                               sortable="false"
                               headerText="#{bindings.XXXXView1.hints.SerialNo.label}"
                               id="c2">
                      <af:inputText value="#{row.bindings.SerialNo.inputValue}"
                                    label="#{bindings.XXXXView1.hints.SerialNo.label}"
                                    required="#{bindings.XXXXView1.hints.SerialNo.mandatory}"
                                    columns="#{bindings.XXXXView1.hints.SerialNo.displayWidth}"
                                    maximumLength="#{bindings.XXXXView1.hints.SerialNo.precision}"
                                    shortDesc="#{bindings.XXXXView1.hints.SerialNo.tooltip}"
                                    id="it5">
                        <f:validator binding="#{row.bindings.SerialNo.validator}"/>
                      </af:inputText>
                    </af:column>
                    <af:column sortProperty="#{bindings.XXXXView1.hints.SystemId.name}"
                               sortable="false"
                               headerText="#{bindings.XXXXView1.hints.SystemId.label}"
                               id="c1">
                      <af:inputText value="#{row.bindings.SystemId.inputValue}"
                                    label="#{bindings.XXXXView1.hints.SystemId.label}"
                                    required="#{bindings.XXXXView1.hints.SystemId.mandatory}"
                                    columns="#{bindings.XXXXView1.hints.SystemId.displayWidth}"
                                    maximumLength="#{bindings.XXXXView1.hints.SystemId.precision}"
                                    shortDesc="#{bindings.XXXXView1.hints.SystemId.tooltip}"
                                    id="it2">
                        <f:validator binding="#{row.bindings.SystemId.validator}"/>
                      </af:inputText>
                    </af:column>
                    <af:column sortProperty="#{bindings.XXXXView1.hints.SystemName.name}"
                               sortable="false"
                               headerText="#{bindings.XXXXView1.hints.SystemName.label}"
                               id="c5">
                      <af:inputText value="#{row.bindings.SystemName.inputValue}"
                                    label="#{bindings.XXXXView1.hints.SystemName.label}"
                                    required="#{bindings.XXXXView1.hints.SystemName.mandatory}"
                                    columns="#{bindings.XXXXView1.hints.SystemName.displayWidth}"
                                    maximumLength="#{bindings.XXXXView1.hints.SystemName.precision}"
                                    shortDesc="#{bindings.XXXXView1.hints.SystemName.tooltip}"
                                    id="it3">
                        <f:validator binding="#{row.bindings.SystemName.validator}"/>
                      </af:inputText>
                    </af:column>
                    <af:column sortProperty="#{bindings.XXXXView1.hints.ModelNumber.name}"
                               sortable="false"
                               headerText="#{bindings.XXXXView1.hints.ModelNumber.label}"
                               id="c3">
                      <af:inputText value="#{row.bindings.ModelNumber.inputValue}"
                                    label="#{bindings.XXXXView1.hints.ModelNumber.label}"
                                    required="#{bindings.XXXXView1.hints.ModelNumber.mandatory}"
                                    columns="#{bindings.XXXXView1.hints.ModelNumber.displayWidth}"
                                    maximumLength="#{bindings.XXXXView1.hints.ModelNumber.precision}"
                                    shortDesc="#{bindings.XXXXView1.hints.ModelNumber.tooltip}"
                                    id="it4">
                        <f:validator binding="#{row.bindings.ModelNumber.validator}"/>
                      </af:inputText>
                    </af:column>
                  </af:table>
                </af:panelGroupLayout>
              </af:dialog>
            </af:popup>
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>
    [/code]
    Any help will be appreciated.
    ~Abhijit

    Hi,
    We are seeing this behaviour too - JDEV 11.1.1.7 with WLS 10.3.6.
    Anybody got any suggestions?
    Thanks
    Jon

  • SSAS Cube Hierarchy Default Member, not aggregatable in pivot table multi select, Urgent

    Hi All,
    I have one problem in my project ssas cube. one of the dimension hierarchy, a value has been set up as default member in calculation tab.
    The problem is:
    When i filter (select multiple) this defaulted value and other value in excel pivot, it is always showing default member value instead of selected members aggregated value. if i remove default member it is working fine. Can you please provide work around
    for this.
    Please note that, if select multiple values within that hierarchy (this time not selected default value), aggregation is working fine.
    Thanks, Rajendra

    Hi Hirmando,
    According to your description, the default member cause incorrect data when dragging a attribute that contain a default member to the FILTERS area, right?
    I can reproduce this issue on my environment, when dropping this dimension in the filter area of my pivot table and select multiple members including the default member then only data for the default member is shown. Currently, it's hard to say the root
    reason that cause this issue. In order to narrow down this issue, please apply the latest server pack and cumulative update.
    Besides, you can submit a feedback at
    http://connect.microsoft.com/SQLServer/Feedback So that microsoft will confirm if this is a know issue.
    Regards,
    Charlie Liao
    If you have any feedback on our support, please click
    here.
    Charlie Liao
    TechNet Community Support

  • Table multi selection

    I am using a Jtable with MULTIPLE_INTERVAL_SELECTION.
    I saw in the java doc that this means:
    " A value for the selectionMode property: select one or more
    contiguous ranges of indices at a time."
    I want a normal multi selection behaviour:
    enabling the user to wark with ctrl or shift and mouse clicks to select several rows.
    (currently the shift is working but only with the keyboard keys).
    How can i set this behaviour?

    Use this table model ...
    package framework;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    public class MultipleSelectionTableModel extends DefaultTableModel
       Vector rowVector;
       Vector columnVector;
       public MultipleSelectionTableModel(Vector rowVector, Vector columnVector)
          for (int i = 0; i < columnVector.size(); i++)
             this.addColumn(columnVector.get(i).toString());
          for (int i = 0; i < rowVector.size(); i++)
             this.addRow((Vector) rowVector.get(i));
       public Class getColumnClass(int columnIndex)
          Object o = getValueAt(0, columnIndex);
          if (o == null)
             return Object.class;
          else
             return o.getClass();
       public boolean isCellEditable(int rowIndex, int mColIndex)
          if (mColIndex == 0)
             return true;
          else
             return false;
    }You would set this table model as ..
             MultipleSelectionTableModel myDefaultTableModel = new MultipleSelectionTableModel(rowDataVector, columnVector);
             yourTable.setModel(myDefaultTableModel);hope it'd do ;)
    Cheers...
    Asim

  • ADF Table: LOV Iterator Issue

    I have an editable ADF Table, with a column that contains an LOV (Select One Choice). This LOV gets it's data from another View Object. We have an LOV Maintenance screen that populates the LOV's View Object with data.
    My problem is when you insert new data into the LOV's View Object, then go to the Editable ADF Table which contains the LOV Column, the new LOV Data does not show up in the Select One Choice. However, if I open up a new browser window and open the application, I see the new LOV data. Also the new LOV Data shows in the database. This is telling me the LOV's iterator is not updating properly.
    However, since i have an ADF Table, the LOV along with all other columns are bunched into a Tree Binding and respectively the ADF Table's Iterator (In the page bindings). Thus I don't know how i can directly access the LOV's iterator and refresh it.
    How do I refresh the LOV iterator?
    Currently we're on ADF 11.1.1.3.

    Another Edit:
    Okay I got this workaround functioning properly... It was a combination of settings that need to occur. I'm not crazy about it because it seems inefficient -  but it works.
    1.) I exposed the View Row Imp Class of my ADF Edit Table View Object (and Included Accessors). Included Accessors so I had programatic access to my LOV's View Accessors. I had two Accesors so i could have a switching LOV on my LOV Attribute.
    2.) Then in the RowImpl class, I went to the LOV Accessor getter methods, i did this below, so we refresh the View Accessor.
         * Gets the view accessor <code>RowSet</code> ActiveSmsModules.
        public RowSet getActiveSmsModules() {
          RowSet rs = (RowSet)getAttributeInternal(ACTIVESMSMODULES);
          rs.executeQuery();
          return rs;
            //return (RowSet)getAttributeInternal(ACTIVESMSMODULES);
         * Gets the view accessor <code>RowSet</code> AllSmsModules.
        public RowSet getAllSmsModules() {
          RowSet rs = (RowSet)getAttributeInternal(ALLSMSMODULES);
          rs.executeQuery();
          return rs;
            //return (RowSet)getAttributeInternal(ALLSMSMODULES);
    3.): After that, I had to go to my ADF Edit Table's Iterator (In the bindings), set Refresh to Always. I'm not sure why but it didnt work without this setting.
    4.) Then in my ADF Page Backing Bean, which holds the ADF Editable Table, i had to run this code once when the ADF Table gets rendered. Basically, re-execute the ADF Edit Table's iterator query. Then refresh the LOV UI Component. The LOV object was bound with a getter and setter in my backing bean.
            BindingContainer bindings = getBindings();
            DCIteratorBinding iterator = (DCIteratorBinding)bindings.get("UnvPracSmtView1Iterator");
            iterator.executeQuery();
            AdfFacesContext.getCurrentInstance().addPartialTarget(getSmtSmsCode());
    It would be easier to be able to simply access the LOV's iterator through the ADF Table's Tree Bindings, but there doesn't seem to be a straight forward way to do this. If anyone has any other solution to this, please let me know!

  • Row Curr/No Rows and ADF Table- Found the issue but no solution Attn: Frank

    I have an ADF table that has ten rows of data. I have set it to show 5. When I try to go to the next page by clicking "Next" and do a "Show All" I get Row Currency error and "No Rows." However, if I set the ADF Tbale to shopw 10 rows, it shows them all. Any ideas?
    I have been looking at it for a week.

    Error
    JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[]
    On the jspx, I have:
    ***** No rows yet. ******************
    In the message log, I have
    oracle.adf.controller.faces.lifecycle.FacesPageLifecycle addMessage
    WARNING: JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[]
    Oh, by the way, I see the message below, before any error happened
    Jun 11, 2008 12:29:38 PM oracle.adfinternal.view.faces.taglib.ValidatorTag createValidator
    SEVERE: attribute 'validatorId' is missing
    Jun 11, 2008 12:29:38 PM oracle.adfinternal.view.faces.taglib.ValidatorTag doStartTag
    WARNING: could not create validator for validatorId:null and binding:#{bindings.MenuId.validator}
    Jun 11, 2008 12:29:42 PM

  • ADF Table dynamic rendering issue with Transient VO

    Hello All,
    JDeveloper : Studio Edition Version 11.1.1.2.0 Build JDEVADF_11.1.1.2.0_GENERIC_091029.2229.5536
    ADF Business Components     11.1.1.55.36
    Java(TM) Platform     1.6.0_11
    Oracle IDE     11.1.1.2.36.55.36
    SOA Composite Editor     11.1.1.2.0.12.16
    Versioning Support     11.1.1.2.36.55.36
    My page header and lines section. Header section is designed using af:panelFormLayout and lines section is constructed using af:table. Header and Lines regions are on two different Transient VOs which has no queries and updatable option in all the attributes set to always. As per the requirement after some condition, i will have to disable few column items in the lines table. For this, i have created new Transient attribute (SpecEditMode) of type Boolean in lines transient VO and i set this attribute value to Boolean.TRUE or Boolean.FALSE based on the condition. I set read only property to all af:inputText fields as #{bindings.SpecEditMode.inputValue}.
    Here is the my lines table layout structure
    af:panelBox
         -> af:panelCollection
         ->-> af:table.
    I have one input text box to get number of rows to be added to line in the af:panelBox toolbar and a GO button to create the rows.     Here is the steps to get my issue
    1. Create new rows in the Lines Transient VO based on the user input.
    2. Perform business logic and lock the rows created above (set the read only propery to true using expression #{bindings.SpecEditMode.inputValue})
    3. Rows created in step one gets locked when the layout gets refreshed.
    4. Repeat the step 1 and now all the locked rows becomes unlocked.
    To debug further on this, i drag and drop the SpecEditMode attribute as a column in the same table to verify the values during runtime. SpecEditMode attribute value for Rows created in step 1 are true which is supposed to lock the row.[But not locked the rows] and for all the newly created rows in step 4 are false.
    Eventhough the SpecEditMode attribute values are correct, the fields are not locked after the first time.
    Could you let me know if i am missing anything? Very much appreicate any pointers/inputs. Kindly suggest if there is any other better way to achieve the expected functionality.
    Thanks
    Annadurai.

    When i set the read only property to #{row.bindings.SpecEditMode.inputValue}, the dynamic behaviour is works just fine.

  • ADF table submit button issue

    Hi,
    Im using adf 11g R1. I have a standard crud page.. with a read-only table and a form..
    I have a long query on the VO which contains sub-selects
    when I edit a record.. then hit the Submit button.. the edited field will obviously update on the table..
    however, I have a field/attribute that is a sub-select, when I edit that field in the form and hit the Submit button.. It doesnt update its field on the table.. rather I have to hit the Commit button and refresh the table so that I can view what I change from the table..
    ex.
    -Name: John
    -change to > Name: JohnP
    -press submit
    -the field is still John on the table
    -press commit
    -refresh table
    -the field is now JohnP on the table
    Thanks!

    Hi,
    the problem is that the form updates the underlying entity, which means that the change is kept local in ADF BC (or whatever persistence layer you use). Since a read only query always hits teh database, it cannot see what hasn't been committed to it. So what you see is what you build, or in other words: works as designed by you. If you like to change this, then you need to use a VO that is based on an entity and that is used for the form and the table
    Frank

  • Multi selection issue in OAF

    Dear ALL,
    I have a advanced table in that i have a radion button for single selction and added a column with check boxes for multiple selction, now i am able to select multiple rows , but how can select all the rows at a time,
    i know i can use multiselection option in advanced table so ther we have select all option, so ther any other way i can do in my check box column in tah table once i press any button or link it should select all the rows in that table, please help me out .
    Thanks

    Thanks Parvez for reply, now i have added a separate column in the advanced table as column type link, then captured the event on clicking the link and iterating  across all the rows of the table and making the transient flag to 'Y' so now all the rows ate checked clicking on the link, but the problem is the "select all" link is displaying in all the rows in the table, can i make it to display only the header part of the table instead of displaying in all rows just like standard OAF advanced table "select all" functionality in OAF. Can any one please provide me some pointer on this.
    Thanks

  • Adf table data scrolling issue in IE8

    Hello
    I have converted my jdev application from version 11.1.1.1.0 to 11.1.2.1.0. In the application there is a table that pull data through view object. I have set RangeSize = -1 and FetchSize = 30 and there are about 500 records. To see more records when I scroll down then it shows "fetching data" and after a few seconds the scrollbar moves back to the top of the table. This is happenning in IE8. In Mozilla FireFox and Google Crome all things seems ok. Also in earlier version this problem did not happen.
    Why this problem is happenning in IE8? Can anyboby help me on this?
    Thanks
    Jalil

    Hi All,
    In my earlier post it was said that table having footer facet causing the problem in Internet Explorer 8. To see how it happens please read and follow below link:
    Open the following link in Internet Explorer 8.
    http://jdevadf.oracle.com/adf-richclient-demo/faces/components/table/tableColumnFooter.jspx?
    If you scroll down to see more records from the table then you will see "Fetching Data" and after that the scrollbar moves to the top of the atble.
    This is because this table has footer facet to show totals.
    But in the link "http://jdevadf.oracle.com/adf-richclient-demo/faces/components/table.jspx?" if you scroll down to see more records then you will see "Fetching Data" and scrollbar stays in currect position. Because there is no footer facet.
    Thanks
    Jalil

  • ADF TAble border visibility issue

    Hi,
    We're working on a search page with af:query component as search form and displaying the results on the same page with a table. The problem we're having is that for some fields that contain a single space character (' ') as their value, we're getting the table column borders to be deleted. If the cell has null or proper data(not space, anything else), the cell is properly bordered. This appears only in IE8, not in Firefox. Since our target environment is IE8, we really have to get this resolved. Could anyone please provide some insight?
    Thanks,
    Debojit

    Hi,
    I've seen that post, but the suggestions there don't seem to work for us. We tried using the suggestion there with rendered attribute of output text, but with no change. If you could please suggest an alternative, it would be really helpful.
    Regards,
    Debojit

Maybe you are looking for