ER label in ADF Tables

Hi,
I noticed that attributes in an ADF tables do not have the LABEL property attached. This is logical since the Table Column identifies them BUT if you are dealing with mandatory items and you leave one empty, the message you get does not describe the column it causes the client validation to fail. The message just says: You should provide a value.
If you attach a label to the mandatory attribute same to the one attached in the corresponding column you get the right message: Attribute Label - You should provide a value.
Unless there is a reason I don't know I believe it would be a good idea to generate the LABELs for each column (af:inputText) when dropping the ADF table in the first place instead of going in each column and attach the LABEL ourselves.
Best Regards
Elias.

Thanks Elias,
I filed an enhancement request
Frank

Similar Messages

  • Adf table with detail stamp , not able to close the detail stamp

    Hi
    i'm using 11g adf jdeveloper.
    I'm using adf table to display records of XXXVO.In table i have used detail stamp, in which i have drag XXXVO read-only form and used a ADD button which call a pop-up with createInsert of the XXXVO form with submit button.In pop i have used a drop downlist of other YYYVO. I have used another button Edit which call the same pop-up, using show pop-up.
    Issue is when i run the application i can open the detail stamp and close but i couldn't get the selected record on the table in edit mode pop up. if i give partial trigger in pop-up of table id . den i'm getting the selected record in edit pop up. but detail stamp is not working .
    Here is the 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:pageTemplate viewId="/XBBaseTemplate.jspx"
    value="#{bindings.pageTemplateBinding}" id="pt1">
    <f:facet name="body">
    <af:panelBox text="AMC Charges" id="pb1">
    <f:facet name="toolbar"/>
    <af:panelGroupLayout layout="scroll" id="pgl1">
    <af:panelCollection id="pc1"
    inlineStyle="width:1105px; height:336px;">
    <f:facet name="menus">
    <af:menu text="Export Excel" id="m2">
    <af:commandMenuItem text="Excel" id="cmi1">
    <af:exportCollectionActionListener exportedId="resId1"
    type="excelHTML"/>
    </af:commandMenuItem>
    </af:menu>
    </f:facet>
    <f:facet name="toolbar">
    <af:toolbar id="t1">
    <af:commandToolbarButton id="ctb1"
    icon="/Images/browse.gif"
    shortDesc="Search"
    partialTriggers="resId1"
    disabled="#{UsapProgramPrivilege.query}">
    <af:showPopupBehavior popupId=":::p2"/>
    </af:commandToolbarButton>
    <af:commandToolbarButton id="ctb_add"
    icon="/Images/addsymbol.png"
    shortDesc="Add"
    action="#{MasterManagedBean.createRecord}"
    useWindow="true"
    windowModalityType="applicationModal"
    windowHeight="300"
    windowWidth="300"
    disabled="#{UsapProgramPrivilege.insert}"/>
    <af:commandToolbarButton
    id="ctb2"
    partialTriggers="resId1"
    icon="/Images/update_ena.png">
    <af:showPopupBehavior popupId=":::p_edit"/>
    </af:commandToolbarButton>
    <af:commandToolbarButton id="ctb_delete"
    icon="/Images/delete_ena.png"
    shortDesc="Delete"
    partialTriggers="resId1"
    actionListener="#{bindings.Delete.execute}"
    disabled="#{UsapProgramPrivilege.delete}"/>
    <af:commandToolbarButton id="ctb3"
    icon="/Images/filesave.png"
    shortDesc="Save"
    partialTriggers="resId1 ctb_add ctb_delete :::cb1"
    actionListener="#{bindings.Commit.execute}"
    disabled="#{!bindings.Commit.enabled}"/>
    <af:commandToolbarButton id="ctb5" icon="/Images/undo.png"
    actionListener="#{bindings.Rollback.execute}"
    disabled="#{!bindings.Rollback.enabled}"
    immediate="true">
    <af:resetActionListener/>
    </af:commandToolbarButton>
    <af:commandToolbarButton id="ctb4"
    icon="/Images/eraser-4.gif"
    shortDesc="Clear"
    action="#{MasterManagedBean.onClearTableSearchFields}"/>
    <af:outputText value="CmmAmcRatesVO1Iterator"
    id="ot_amciterator"
    binding="#{MasterManagedBean.iteratorName}"
    visible="false"/>
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.CmmAmcRatesVO1.collectionModel}"
    var="row"
    rows="#{bindings.CmmAmcRatesVO1.rangeSize}"
    emptyText="#{bindings.CmmAmcRatesVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.CmmAmcRatesVO1.rangeSize}"
    rowBandingInterval="0"
    filterModel="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
    queryListener="#{bindings.ImplicitViewCriteriaQuery.processQuery}"
    filterVisible="true" varStatus="vs"
    selectedRowKeys="#{bindings.CmmAmcRatesVO1.collectionModel.selectedRow}"
    selectionListener="#{bindings.CmmAmcRatesVO1.collectionModel.makeCurrent}"
    rowSelection="single" id="resId1"
    binding="#{MasterManagedBean.masterTable}"
    styleClass="hieght:100% width:100%"
    columnSelection="multiple" width="1099"
    rowDisclosureListener="#{MasterManagedBean.onRowDiscloseureEvent}"
    partialTriggers="::ctb_add ::ctb_delete ::::cb1">
    <af:column sortProperty="AmrtPrdId" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtPrdId.label}"
    id="resId1c1">
    <af:outputText value="#{row.AmrtPrdId}" id="ot8"/>
    </af:column>
    <af:column sortProperty="AmrtFeeId" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtFeeId.label}"
    id="resId1c2">
    <af:outputText value="#{row.AmrtFeeId}" id="ot7"/>
    </af:column>
    <af:column sortProperty="AmrtRateTyp" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtRateTyp.label}"
    id="resId1c3">
    <af:outputText value="#{row.AmrtRateTyp}" id="ot11"/>
    </af:column>
    <af:column sortProperty="AmrtFxdAmt" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtFxdAmt.label}"
    id="resId1c4">
    <af:outputText value="#{row.AmrtFxdAmt}" id="ot3">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtFxdAmt.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="AmrtPerc" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtPerc.label}"
    id="resId1c5">
    <af:outputText value="#{row.AmrtPerc}" id="ot4">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtPerc.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="AmrtMinAmt" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtMinAmt.label}"
    id="resId1c6">
    <af:outputText value="#{row.AmrtMinAmt}" id="ot2">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtMinAmt.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="AmrtMaxAmt" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtMaxAmt.label}"
    id="resId1c7">
    <af:outputText value="#{row.AmrtMaxAmt}" id="ot9">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtMaxAmt.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="AmrtFolioId" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtFolioId.label}"
    id="resId1c8">
    <af:outputText value="#{row.AmrtFolioId}" id="ot1"/>
    </af:column>
    <af:column sortProperty="AmrtCurrId" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtCurrId.label}"
    id="resId1c9">
    <af:outputText value="#{row.AmrtCurrId}" id="ot10"/>
    </af:column>
    <af:column sortProperty="AmrtRndMthd" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtRndMthd.label}"
    id="resId1c10">
    <af:outputText value="#{row.AmrtRndMthd}" id="ot14"/>
    </af:column>
    <af:column sortProperty="AmrtDecPlc" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtDecPlc.label}"
    id="resId1c11">
    <af:outputText value="#{row.AmrtDecPlc}" id="ot5">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtDecPlc.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="AmrtActiveYn" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtActiveYn.label}"
    id="resId1c12">
    <af:outputText value="#{row.AmrtActiveYn}" id="ot13"/>
    </af:column>
    <af:column sortProperty="AmrtHoldYn" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtHoldYn.label}"
    id="resId1c13">
    <af:outputText value="#{row.AmrtHoldYn}" id="ot12"/>
    </af:column>
    <af:column sortProperty="AmrtEffFdate" filterable="true"
    sortable="true"
    headerText="#{bindings.CmmAmcRatesVO1.hints.AmrtEffFdate.label}"
    id="resId1c14">
    <f:facet name="filter">
    <af:inputDate value="#{vs.filterCriteria.AmrtEffFdate}"
    id="id1"/>
    </f:facet>
    <af:outputText value="#{row.AmrtEffFdate}" id="ot6">
    <af:convertDateTime pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtEffFdate.format}"/>
    </af:outputText>
    </af:column>
    <f:facet name="detailStamp">
    <af:panelFormLayout id="pfl2" rows="9">
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtPrdId.label}"
    id="plam10">
    <af:outputText value="#{row.AmrtPrdId}" id="ot31"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtFeeId.label}"
    id="plam17">
    <af:outputText value="#{row.AmrtFeeId}" id="ot20"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtRateTyp.label}"
    id="plam11">
    <af:outputText value="#{row.AmrtRateTyp}" id="ot28"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtFxdAmt.label}"
    id="plam18">
    <af:outputText value="#{row.AmrtFxdAmt}" id="ot16">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtFxdAmt.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtPerc.label}"
    id="plam14">
    <af:outputText value="#{row.AmrtPerc}" id="ot30">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtPerc.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtMinAmt.label}"
    id="plam1">
    <af:outputText value="#{row.AmrtMinAmt}" id="ot22">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtMinAmt.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtMaxAmt.label}"
    id="plam13">
    <af:outputText value="#{row.AmrtMaxAmt}" id="ot18">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtMaxAmt.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtFolioId.label}"
    id="plam7">
    <af:outputText value="#{row.AmrtFolioId}" id="ot27"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtCurrId.label}"
    id="plam4">
    <af:outputText value="#{row.AmrtCurrId}" id="ot26"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtRndMthd.label}"
    id="plam6">
    <af:outputText value="#{row.AmrtRndMthd}" id="ot25"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtDecPlc.label}"
    id="plam12">
    <af:outputText value="#{row.AmrtDecPlc}" id="ot21">
    <af:convertNumber groupingUsed="false"
    pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtDecPlc.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtActiveYn.label}"
    id="plam2">
    <af:outputText value="#{row.AmrtActiveYn}" id="ot32">
    <f:converter converterId="CharYNAsString"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtHoldYn.label}"
    id="plam8">
    <af:outputText value="#{row.AmrtHoldYn}" id="ot24">
    <f:converter converterId="CharYNAsString"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.AmrtEffFdate.label}"
    id="plam15">
    <af:outputText value="#{row.AmrtEffFdate}" id="ot23">
    <af:convertDateTime pattern="#{bindings.CmmAmcRatesVO1.hints.AmrtEffFdate.format}"/>
    </af:outputText>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.FeeDescription.label}"
    id="plam16">
    <af:outputText value="#{row.FeeDescription}"
    id="ot29"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.FolioDescription.label}"
    id="plam9">
    <af:outputText value="#{row.FolioDescription}"
    id="ot17"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.ProductDescription.label}"
    id="plam3">
    <af:outputText value="#{row.ProductDescription}"
    id="ot19"/>
    </af:panelLabelAndMessage>
    <af:panelLabelAndMessage label="#{bindings.CmmAmcRatesVO1.hints.CurrencyDescription.label}"
    id="plam5">
    <af:outputText value="#{row.CurrencyDescription}"
    id="ot15"/>
    </af:panelLabelAndMessage>
    </af:panelFormLayout>
    </f:facet>
    </af:table>
    </af:panelCollection>
    </af:panelGroupLayout>
    </af:panelBox>
    </f:facet>
    <f:facet name="first">
    <af:panelStretchLayout id="psl3" startWidth="39px">
    <f:facet name="bottom"/>
    <f:facet name="center"/>
    <f:facet name="start"/>
    <f:facet name="end"/>
    <f:facet name="top"/>
    </af:panelStretchLayout>
    </f:facet>
    <f:facet name="top"/>
    <f:facet name="Bticker"/>
    </af:pageTemplate>
    <af:popup id="p2">
    <af:panelWindow id="pw1">
    <af:panelGroupLayout id="pgl2">
    <af:panelHeader text="AMC Rates" id="ph1">
    <af:query id="qryId1" headerText="Search" disclosed="true"
    value="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
    model="#{bindings.ImplicitViewCriteriaQuery.queryModel}"
    queryListener="#{bindings.ImplicitViewCriteriaQuery.processQuery}"
    queryOperationListener="#{bindings.ImplicitViewCriteriaQuery.processQueryOperation}"
    resultComponentId="::pt1:pc1:resId1"
    displayMode="compact"
    />
    </af:panelHeader>
    </af:panelGroupLayout>
    </af:panelWindow>
    </af:popup>
    <af:popup id="p_edit" popupCanceledListener="#{MasterManagedBean.resetPopTitle}"
    partialTriggers="pt1:pc1:resId1">
    <af:panelWindow id="pw2" inlineStyle="width:600px; height:600.0px;"
    title="Edit"
    binding="#{MasterManagedBean.masterPenalWindow}">
    <af:panelGroupLayout id="pgl3">
    <af:panelFormLayout id="pfl4" rows="2" maxColumns="2">
    <af:inputListOfValues id="amrtFeeIdId"
    popupTitle="Search and Select: #{bindings.AmrtFeeId.hints.label}"
    value="#{bindings.AmrtFeeId.inputValue}"
    label="#{bindings.AmrtFeeId.hints.label}"
    model="#{bindings.AmrtFeeId.listOfValuesModel}"
    required="#{bindings.AmrtFeeId.hints.mandatory}"
    columns="#{bindings.AmrtFeeId.hints.displayWidth}"
    shortDesc="#{bindings.AmrtFeeId.hints.tooltip}">
    <f:validator binding="#{bindings.AmrtFeeId.validator}"/>
    </af:inputListOfValues>
    <af:inputListOfValues id="amrtPrdIdId"
    popupTitle="Search and Select: #{bindings.AmrtPrdId.hints.label}"
    value="#{bindings.AmrtPrdId.inputValue}"
    label="#{bindings.AmrtPrdId.hints.label}"
    model="#{bindings.AmrtPrdId.listOfValuesModel}"
    required="#{bindings.AmrtPrdId.hints.mandatory}"
    columns="#{bindings.AmrtPrdId.hints.displayWidth}"
    shortDesc="#{bindings.AmrtPrdId.hints.tooltip}">
    <f:validator binding="#{bindings.AmrtPrdId.validator}"/>
    </af:inputListOfValues>
    <af:inputText value="#{bindings.FeeDescription.inputValue}"
    required="#{bindings.FeeDescription.hints.mandatory}"
    columns="#{bindings.FeeDescription.hints.displayWidth}"
    maximumLength="#{bindings.FeeDescription.hints.precision}"
    shortDesc="#{bindings.FeeDescription.hints.tooltip}"
    partialTriggers="amrtFeeIdId" id="it10"
    readOnly="true">
    <f:validator binding="#{bindings.FeeDescription.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.ProductDescription.inputValue}"
    required="#{bindings.ProductDescription.hints.mandatory}"
    columns="#{bindings.ProductDescription.hints.displayWidth}"
    maximumLength="#{bindings.ProductDescription.hints.precision}"
    shortDesc="#{bindings.ProductDescription.hints.tooltip}"
    partialTriggers="amrtPrdIdId" id="it7"
    readOnly="true">
    <f:validator binding="#{bindings.ProductDescription.validator}"/>
    </af:inputText>
    </af:panelFormLayout>
    <af:panelFormLayout id="pfl6" rows="2" maxColumns="2">
    <af:inputListOfValues id="amrtFolioIdId"
    popupTitle="Search and Select: #{bindings.AmrtFolioId.hints.label}"
    value="#{bindings.AmrtFolioId.inputValue}"
    label="#{bindings.AmrtFolioId.hints.label}"
    model="#{bindings.AmrtFolioId.listOfValuesModel}"
    required="#{bindings.AmrtFolioId.hints.mandatory}"
    columns="#{bindings.AmrtFolioId.hints.displayWidth}"
    shortDesc="#{bindings.AmrtFolioId.hints.tooltip}">
    <f:validator binding="#{bindings.AmrtFolioId.validator}"/>
    </af:inputListOfValues>
    <af:inputListOfValues id="amrtCurrIdId"
    popupTitle="Search and Select: #{bindings.AmrtCurrId.hints.label}"
    value="#{bindings.AmrtCurrId.inputValue}"
    label="#{bindings.AmrtCurrId.hints.label}"
    model="#{bindings.AmrtCurrId.listOfValuesModel}"
    required="#{bindings.AmrtCurrId.hints.mandatory}"
    columns="#{bindings.AmrtCurrId.hints.displayWidth}"
    shortDesc="#{bindings.AmrtCurrId.hints.tooltip}">
    <f:validator binding="#{bindings.AmrtCurrId.validator}"/>
    </af:inputListOfValues>
    <af:inputText value="#{bindings.FolioDescription.inputValue}"
    required="#{bindings.FolioDescription.hints.mandatory}"
    columns="#{bindings.FolioDescription.hints.displayWidth}"
    maximumLength="#{bindings.FolioDescription.hints.precision}"
    shortDesc="#{bindings.FolioDescription.hints.tooltip}"
    partialTriggers="amrtFolioIdId" id="it9"
    readOnly="true">
    <f:validator binding="#{bindings.FolioDescription.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.CurrencyDescription.inputValue}"
    required="#{bindings.CurrencyDescription.hints.mandatory}"
    columns="#{bindings.CurrencyDescription.hints.displayWidth}"
    maximumLength="#{bindings.CurrencyDescription.hints.precision}"
    shortDesc="#{bindings.CurrencyDescription.hints.tooltip}"
    partialTriggers="amrtCurrIdId" id="it3"
    readOnly="true">
    <f:validator binding="#{bindings.CurrencyDescription.validator}"/>
    </af:inputText>
    </af:panelFormLayout>
    <af:panelFormLayout id="pfl1" rows="5" fieldWidth="150">
    <af:selectOneChoice value="#{bindings.AmrtRateTyp.inputValue}"
    label="#{bindings.AmrtRateTyp.label}"
    required="#{bindings.AmrtRateTyp.hints.mandatory}"
    shortDesc="#{bindings.AmrtRateTyp.hints.tooltip}"
    id="soc1">
    <f:selectItems value="#{bindings.AmrtRateTyp.items}"
    id="si1"/>
    </af:selectOneChoice>
    <af:inputText value="#{bindings.AmrtFxdAmt.inputValue}"
    label="#{bindings.AmrtFxdAmt.hints.label}"
    required="#{bindings.AmrtFxdAmt.hints.mandatory}"
    columns="#{bindings.AmrtFxdAmt.hints.displayWidth}"

    See if this helps:
    http://blogs.oracle.com/shay/2010/03/popup_details_for_a_table_reco.html

  • 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

  • How to delete a row in ADF Table by pressing "Delete" Key

    I want to delete a row in my ADF table by pressing the "Delete" key..How can i achieve it?

    hai ,
    I write clientListener and ServerListener..But in the script i printed the event.getKeyCode() ...*When i press Delete Key or EnterKey ,it is not printing the value*..
    The code i write is pasted below..
    In the code backing_Comm is my backingbean..Is there any problem in the code that i had written?I want to delete a selected row from my table using keypress Event...pls advice..
    <script type="text/javascript">
    onPressDeleteKey=function(event){
    alert(event.getKeyCode()); // *Here i am not getting the alert, when i press Delete Key or Enter Key..But getting alert when i press A- Z or 1 - 0*
    if(event.getKeyCode()==AdfKeyStroke.ENTER_KEY) {
    var source = event.getSource();
    AdfCustomEvent.queue(source,performDeleteOnPress,{},false);
    </script>
    <*af:table* value="#{bindings.ComMastVO.collectionModel}"
    var="row"
    rows="#{bindings.ComMastVO.rangeSize}"
    emptyText="#{bindings.ComMastVO.viewable ? 'No rows yet.' : 'Access Denied.'}"
    fetchSize="#{bindings.CompMastVO.rangeSize}"
    rowSelection="single"
    id="tblCom"
    columnStretching="last" inlineStyle="width:100%;"
    width="273"
    selectionListener="#{backing_Comm.rowSelectCom}"
    binding="#{backing_Comm.tblCom}"
    clientComponent="true" >
    <*af:column* sortProperty="Com" sortable="true">
    <*af:inputText* value="#{row.bindings.Com.inputValue}"
    label="#{bindings.ComMastVO.hints.Com.label}"
    required="#{bindings.ComMastVO.hints.Com.mandatory}"
    columns="150"
    maximumLength="#{bindings.ComMastVO.hints.Com.precision}"
    shortDesc="#{bindings.ComMastVO.hints.Com.tooltip}">
    valueChangeListener="#{backing_Comm.onValueChange}"
    autoSubmit="true" >
    <f:validator binding="#{row.bindings.Com.validator}"/>
    *</af:inputText>*
    *<af:serverListener type="performDeleteOnPress"*
    *method="#{backing_Comm.goDeleteCurrentRow}"/>*
    </af:column>
    *<af:clientListener type="keyPress"*
    *method="onPressDeleteKey"/>*
    </af:table>
    =================================================
    anybody pls help??
    Edited by: Briston Thomas on Jun 3, 2009 2:25 AM

  • Unable to display the ClobDomain value in adf table

    Hi ,
    I have a database table whose column is Clob. Accordingly the Entity Attribute and VO attribute are of type. oracle.jbo.domain.ClobDomain
    Now this VO is wired as a ADF Table in jsff page. I am setting the value programmatically inside the AM by using the following.
    //Code inside AM
    String text="some xml";
    ClobDomain clobval=new ClobDomain(text.toString())
    vo.setAttribute("atrName",clobVal);
    Now at the UI level, I was able to print the value of the attribute inside a bean code. However, in the adf table, this cell is always empty. But if i try to set the value through UI then it works.
    If i make the inputText readonly then it displays the value.
    Am i missing something.
    Inside the af:column
    <af:inputText value="#{row.bindings.VariableValue.inputValue}"
    label="#{bindings.TestcaseInput.hints.VariableValue.label}"
    required="#{bindings.TestcaseInput.hints.VariableValue.mandatory}"
    columns="#{bindings.TestcaseInput.hints.VariableValue.displayWidth}"
    shortDesc="#{bindings.TestcaseInput.hints.VariableValue.tooltip}"
    id="it4" converter="oracle.genericDomain"
    rows="10">
    <f:validator binding="#{row.bindings.VariableValue.validator}"/>
    </af:inputText
    jdev version 11.1.1.6.0

    Try using SELECT_TEXT in place of READ_TEXT.
    Hope this helps.
    Regards
    vinayak

  • Issue with the partialTrigger on ADF Table

    Jdeveloper Version 11.1.2.3.0
    I have replicated issue with partialTrigger on the table component. Sample application can be downloaded from here . It needs HR schema to run.
    In below sample pageFragment, I can try refreshing adf table in two ways
    1. Set addEmployee button's id in partialTrigger of ADFTable component.
    2. Set addEmployee button's id in partialTrigger of PanelBox component.
    Note the difference - 1st one doesn't work where as 2nd works fine. Do we have any additional constraints when refreshing ADF table using
    partialTrigger ?
    I replicated the usecase in below example :
    PageFragment Structure -
    PanelBox                         
    |                              
    |__ ADF Table                         
    |                              
    |__toolbar facet                    
    |                              
    |__ addEmployee button                
    PageFragment Code
    <af:panelBox text="PanelBox2" id="pb1">
    <f:facet name="toolbar">
    <af:commandButton actionListener="#{bindings.addEmployee.execute}" text="addEmployee2"
    disabled="#{!bindings.addEmployee.enabled}" id="cb1" partialSubmit="true"/>
    </f:facet>
    <af:table value="#{bindings.EmployeesView1.collectionModel}" var="row" rows="#{bindings.EmployeesView1.rangeSize}"
    emptyText="#{bindings.EmployeesView1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.EmployeesView1.rangeSize}" rowBandingInterval="0"
    selectedRowKeys="#{bindings.EmployeesView1.collectionModel.selectedRow}"
    selectionListener="#{bindings.EmployeesView1.collectionModel.makeCurrent}" rowSelection="single" id="t1"
    displayRow="selected" partialTriggers="::cb1" styleClass="AFStretchWidth">
    <af:column sortProperty="#{bindings.EmployeesView1.hints.EmployeeId.name}" sortable="false"
    headerText="#{bindings.EmployeesView1.hints.EmployeeId.label}" id="c1">
    <af:inputText value="#{row.bindings.EmployeeId.inputValue}"
    label="#{bindings.EmployeesView1.hints.EmployeeId.label}"
    required="#{bindings.EmployeesView1.hints.EmployeeId.mandatory}"
    columns="#{bindings.EmployeesView1.hints.EmployeeId.displayWidth}"
    maximumLength="#{bindings.EmployeesView1.hints.EmployeeId.precision}"
    shortDesc="#{bindings.EmployeesView1.hints.EmployeeId.tooltip}" id="it1">
    <f:validator binding="#{row.bindings.EmployeeId.validator}"/>
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesView1.hints.EmployeeId.format}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesView1.hints.FirstName.name}" sortable="false"
    headerText="#{bindings.EmployeesView1.hints.FirstName.label}" id="c2">
    <af:inputText value="#{row.bindings.FirstName.inputValue}"
    label="#{bindings.EmployeesView1.hints.FirstName.label}"
    required="#{bindings.EmployeesView1.hints.FirstName.mandatory}"
    columns="#{bindings.EmployeesView1.hints.FirstName.displayWidth}"
    maximumLength="#{bindings.EmployeesView1.hints.FirstName.precision}"
    shortDesc="#{bindings.EmployeesView1.hints.FirstName.tooltip}" id="it2">
    <f:validator binding="#{row.bindings.FirstName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesView1.hints.LastName.name}" sortable="false"
    headerText="#{bindings.EmployeesView1.hints.LastName.label}" id="c3">
    <af:inputText value="#{row.bindings.LastName.inputValue}"
    label="#{bindings.EmployeesView1.hints.LastName.label}"
    required="#{bindings.EmployeesView1.hints.LastName.mandatory}"
    columns="#{bindings.EmployeesView1.hints.LastName.displayWidth}"
    maximumLength="#{bindings.EmployeesView1.hints.LastName.precision}"
    shortDesc="#{bindings.EmployeesView1.hints.LastName.tooltip}" id="it3">
    <f:validator binding="#{row.bindings.LastName.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesView1.hints.DepartmentId.name}" sortable="false"
    headerText="#{bindings.EmployeesView1.hints.DepartmentId.label}" id="c11">
    <af:selectOneChoice value="#{row.bindings.DepartmentId.inputValue}" label="#{row.bindings.DepartmentId.label}"
    required="#{bindings.EmployeesView1.hints.DepartmentId.mandatory}"
    shortDesc="#{bindings.EmployeesView1.hints.DepartmentId.tooltip}" id="soc1">
    <f:selectItems value="#{row.bindings.DepartmentId.items}" id="si1"/>
    </af:selectOneChoice>
    </af:column>
    </af:table>
    </af:panelBox>
    Thanks,
    Rajdeep

    Hi Frank,
    Indeed it worked. But I have two queries now :
    1. We are adding employee record using a method called through method action Binding. So shouldn't the bindings be aware of the same .. i mean sychonization of binding layer should happen when method action binding is used ?
    2. Why it works when i apply partialTrigger on panelBox ? Why "employeesViewImpl" code is not required when I apply partialTrigger on panelBox ? Is it a concept that iterator is reexecuted when you refresh parent component ?
    Thanks,
    Rajdeep

  • Problems with RowSelection in adf table

    I have problems with selection of a row in a adf table. Even though I have set the property : rowSelection="single" , when i select a row, the two other rows that follow, get selected too. For example I have 10 records an when i select the 7th row, the 8th and 9th row are also selected. This doesn't happen with the first rows.
    Also when i evaluate an attribute on selectionListener, it is always getting just the one from the first row.
    <f:facet name="second">
    <af:panelBox id="pbCon" showDisclosure="false" text="Históricos"
    binding="#{pageFlowScope.HistoricoEnvios.pbCon}">
    <af:table var="row" summary="Histórico de envios"
    rows="#{bindings.VOHistoricoEnvios.rangeSize}"
    emptyText="#{bindings.VOHistoricoEnvios.viewable ? 'No se encontraron resultados.' : 'Access Denied.'}"
    fetchSize="#{bindings.VOHistoricoEnvios.rangeSize}"
    rowBandingInterval="0" id="tHist"
    disableColumnReordering="true"
    value="#{bindings.VOHistoricoEnvios.collectionModel}"
    binding="#{pageFlowScope.HistoricoEnvios.thist}"
    rowSelection="single">
    <af:column width="32" id="c13" align="center"
    headerText="#{bindings.VOHistoricoEnvios.hints.Rownum.label}"
    rowHeader="unstyled">
    .

    I have two panelBox, one for a set of options with commandMenuItem and the second one wich shows the result in a table. The first commandMenuItem generate records an show them in the table. Here i got no problem with selection. The third commandMenuItem execute a log of the records generated, here is the problem.
    Thes two pages are part o a template, the template has a panelSpliter, in the right are the set of commandMenuItem an in the second is the part that i can edit.
    I have also drag an drop from the datacontrol again and have the same result
    The table that shows the records is :
    <af:panelTabbed id="ptReg" styleClass="AFStretchWidth"
    visible="true"
    binding="#{pageFlowScope.EnvioSunasa.ptReg}"
    partialTriggers="::dpEnv">
    <af:showDetailItem text="Datos Personales" id="sdiDp"
    stretchChildren="first"
    inflexibleHeight="100">
    <af:panelSplitter id="psDP" orientation="vertical"
    splitterPosition="216">
    <f:facet name="first">
    <af:panelBox id="pbErrDP"
    text="Registros con Error:#{pageFlowScope.EnvioSunasa.numRegErrDP}"
    showDisclosure="false">
    <af:table var="row" summary="Errores Datos Personales"
    rows="#{bindings.VOErrDatosPersonalesAfiliado1.rangeSize}"
    emptyText="#{bindings.VOErrDatosPersonalesAfiliado1.viewable ? 'No se encontraron errores.' : 'Access Denied.'}"
    fetchSize="#{bindings.VOErrDatosPersonalesAfiliado1.rangeSize}"
    rowBandingInterval="0" id="tErrDp"
    disableColumnReordering="false"
    value="#{bindings.VOErrDatosPersonalesAfiliado1.collectionModel}"
    rowSelection="single"
    binding="#{pageFlowScope.EnvioSunasa.terrDp}">
    .

  • ADF table from untyped ArrayList DataModel

    Hi,
    In the dataModel I return a arrayList of untyped objects (instead of bean objects).
    When a create a ADF Table with the wizard Jdev generate something like that:
    <af:table rows...
    <af:forEach items="#{bindings.backlogOfSelection1.attributeDefs}" var="def">
    <af:column headerText="#{bindings.backlogOfSelection1.labels[def.name]}">
    <af:outputText value="#{row[def.name]}"/>
    </af:column>
    </af:forEach>
    </af:table>
    It work but the table show datas in only one column (separate with commas).
    How can I split it in several columns ?
    now I have:
    column1
    row1: [10, 20, 30]
    row2: [55, 12, 85]
    and I would like to have:
    column1 column2 column3
    row1: 10 20 30
    row2: 55 12 85
    Thx

    Each object of the list contain 2 String and 1 bigDecimal.
    I construct the list with ejb 3.0 like that:
    List list = (List)em.createNativeQuery(query).getResultList();
    Thanks Franks

  • Issue with SelectOneChoice in ADF Table

    Hi,
    I am trying to create ADF table with a editable columns, one with InputBox and another with SelectionOneChoice. InputBox is working fine but for SelectOneChoice its not populating the value passed to it.
    The values of SelectOneChoice are coming from JavaClass. Accesing the list through pageFlowScope.
    Code:
    *<af:column sortProperty="sponsorPercentage" sortable="false"*
    *headerText="#{bindings.sponsor1.hints.sponsorPercentage.label}"*
    *id="c11">*
    *<af:inputText label="Label 1" id="it5"*
    *value="#{row1.sponsorPercentage}"/>*
    *</af:column>*
    *<af:column id="c1" headerText="Sponsor Status">*
    *<af:selectOneChoice label="Label 2" id="sStatus" value="#{row1.sponsorStatusDesc}"*
    *validator="#{backingBeanScope.EditSponsorDetails.OnSponsorStatusChange}">*
    *<f:selectItems value="#{pageFlowScope.confLists.spStatus}"*
    *id="si1"/>*
    *</af:selectOneChoice>*
    *</af:column>*
    In the first column i can see the date in InputBox. But in second column where i am using SelectOneChoice i cannot see data. I can see list of values in SelectOneChoice but unable to populate the data passed to it.
    Any idea what i am missing over here?
    Thanks in Advance
    Regards
    Thoom.

    This is my code:
    <af:column id="c1" headerText="Sponsor Status">
    <af:selectOneChoice label="Label 2" id="soc1" value="#{row1.sponsorStatusDesc}"
    validator="#{backingBeanScope.EditSponsorDetails.OnSponsorStatusChange}"
    valuePassThru="true">
    <f:selectItems value="#{pageFlowScope.confLists.spStatus}"
    id="si1"/>
    </af:selectOneChoice>
    </af:column>
    and this i what HTML code says..
    <select id="confSponsor:r2:0:tbIEEEsp:0:soc1::content" class="x2h" name="confSponsor:r2:0:tbIEEEsp:0:soc1">
    <option _adftmpopt="t" value="" title=""></option>
    <option value="4" title="Approved">Approved</option>
    <option value="3" title="Declined">Declined</option>
    <option value="6" title="New">New</option>
    <option value="2" title="Not Valid">Not Valid</option>
    <option value="5" title="On Hold">On Hold</option>
    <option value="1" title="Pending Approval">Pending Approval</option>
    <option value="7" title="Unidentified">Unidentified</option>
    </select>
    Stll i cannot see any value populated in SelectOneChoice

  • Command link in adf table is not working..

    Hi All,
    I am having ADF Table, in that one column is with command link and,if click on commnad link it is not going to coorsponding action or actionListener methods of bean. If i give same command link out side of the table it working fine.But i have to pass some perameters on click of button.
    I am getting same problem in many places , if i delete the page and page-def files again if i create some times it is working but some times not working. Is there any specific reason for this.Following is the code snippet...
    <af:column sortProperty="GlobalDealId" sortable="false"
    headerText="#{bindings.DsaDealsResultsVO1.hints.GlobalDealId.label}"
    id="c8">
    <af:commandLink text="#{row.GlobalDealId}" id="cl1" action="#{pageFlowScope.editProfileCompleteness.sample}" immediate="true" partialSubmit="true">
    <af:setActionListener from='"#{row.GlobalDealId}"'
    to='"#{pageFlowScope.globalDealId}"'/>
    <af:setActionListener from='"#{row.CustName}"'
    to='"#{pageFlowScope.custName}"'/>
    <af:setActionListener from='"#{row.IsSaDeal}"'
    to='"#{pageFlowScope.isSaDeal}"'/>
    </af:commandLink>
    </af:column>
    Even i tried with out immediate="true" partialSubmit="true" also.
    And i set ChangeventPolicy = ppr for Iterator in page defnation file.
    Awaiting for ur reply.

    Hi,
    the real problem of the original poster seems to be <af:commandLink text="#{row.GlobalDealId}" id="cl1" action="createMDM" immediate="true" partialSubmit="true"> having immediate set to true in which case the request goes from restore view to render response. You usually use immediate=true on a command item to cancel an action (bypassing all the other JSF lifecycle steps).
    Peter551059,
    you don't give us much information about your case. So if the problem is IE9 and you verified IE9 is supported for the version of JDeveloper you use, then - in case you have a support contract - my best advise is to file a service request and have support looking at it just in case you hit a defect that should be filed as a bug
    Frank

  • Problem with adf table when adding component in table column.

    Hi All,
    i am using jdev version 11.1.1.5.0.
    use case: i have created one adf table which is based on DC VO. now i have added one select one radio group component(which contain 4 radio button approved ,reject,back,None) in adf table.
    table have many rows for example in first row i have select approved and to next row i have select reject now when i get value of radio group in backing bean using component binding i got last selected value.(in that case reject).
    And second is that when i set radio button value for current row using binding like
    rb.setValue("R") then reject option selected for all rows.
    so my question is that-
    how can i get and set value of select one radio group in row level using component binding.

    Hi,
    I don't see a reason for not using a transient attribute for the radioGroup in your previous reply.
    Here is the example i tried.
                            <af:selectOneRadio label="#{bindings.DeptView1.hints.DeptnoRadio.label}" id="sor1"
                                    value="#{row.bindings.DeptnoRadio.inputValue}">
                                <af:selectItem label="A" value="A" id="si1"/>
                                <af:selectItem label="B" value="B" id="si2"/>
                                <af:selectItem label="C" value="C" id="si3"/>
                                <af:selectItem label="D" value="D" id="si4"/>
                                <af:selectItem label="E" value="E" id="si5" disabled="#{row.bindings.EnableDisable.inputValue}"/>
                            </af:selectOneRadio>Where DeptnoRadio is the transient attribute i've created (which will have some random values between A and E), and EnableDisable is another transient variable of boolean type which would return true or false based on some condition.
    Now, for every row, the value is different (and corresponding radio button is selected) and for a row, which matches the condition, the option E is disabled.
    -Arun

  • Processed rows in ADF Table are unsorted

    I have to process the selected rows of an ADF table programmatically. This is not so difficult, like in the [example |http://www.johnbrunswick.com/2011/08/adftable-get-selected-row-or-rows/] below.
    But the rows are processes in a random, unsorted manner. I need them to be processed sorted as they appear on screen. I think I set all properties correctly, at least the data appear sorted on the view.
    Beside the solution this problem seems to give interesting information about how the iterators work internally. Thanks in advance.
    public String cbSelectMany_action() {
        // For learning purposes - show Select Many Button clicked
        System.out.println("Select Many Button has been Clicked");
        // RowKeySet Object can hold the selected rows from a user as follows
        RowKeySet rksSelectedRows =
            this.getTsupportIssues().getSelectedRowKeys();
        // Iterator object provides the ability to use hasNext(), next() and remove() against the selected rows
        Iterator itrSelectedRows = rksSelectedRows.iterator();
        // Get the data control that is bound to the table - e.g. OpenSupportItemsIterator
        DCBindingContainer bindings =
            (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
        DCIteratorBinding dcIteratorBindings =
            bindings.findIteratorBinding("OpenSupportItemsIterator");
        // Information from binding that is specific to the rows
        RowSetIterator rsiSelectedRows =
            dcIteratorBindings.getRowSetIterator();
        // Loop through selected rows
        while (itrSelectedRows.hasNext()) {
            // Get key for selected row
            Key key = (Key)((List)itrSelectedRows.next()).get(0);
            // Use the key to get the data from the above binding that is related to the row
            Row myRow = rsiSelectedRows.getRow(key);
            // Display attribute of row in console output - would generally be bound to a UI component like a Label and or used to call another proces
            System.out.println(myRow.getAttribute("IssueID"));
        return null;
    }Edited by: KaiMoeller on 17.10.2012 11:12

    Kai,
    I don't think you can archive this without more coding, as the RowKeySet is a set which does not retain the order of the elements. So the solution would be to get the selected rows and then sort them as the table is currently sorted.
    Happy coding
    Timo

  • 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

  • Issue Using CreateInsert to Add Row to ADF Table

    I am using JDev 11.1.2 and have a pretty simple application. The application contains tabs and each tab displays a page fragment. In each page fragment, I have a panelstretch layout. In the top facet I have a form and in the center facet I have a table. I am having an issue once deploying to a standalone WLS server. It works as desired when run locally through the integrated wls. User clicks CreateInsert button and it clears the form and inserts a blank into the table. User clicks Commit and the data appears in the adf table. Pretty simple and straight forward. However, when deployed to the standalone wls the user clicks CreateInsert button the form clears and all the rows in the adf table disappear. I can reload the page and then the rows appear, including the blank one. I have tested this in IE 8 (both in and out of compatibility mode), Firefox 12, and Chrome and get the same results.
    I have one page fragment that it works correctly on when deployed to standalone WLS. All other fragements behave like I described above. I compared the jsff, pagedef, and view objects. I do not see any difference between them. I posted the jsff code below, but I can also post the pagedef code if needed. Any direction on how to resolve this would be great. Am I missing something obvious?? Thanks for any help or advice you can lend!
    ******Working jsff*****
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:f="http://java.sun.com/jsf/core">
    <af:panelStretchLayout id="psl1" styleClass="AFStretchWidth" startWidth="0px" topHeight="185px" bottomHeight="0px"
    endWidth="0px" dimensionsFrom="auto">
    <f:facet name="bottom"/>
    <f:facet name="center">
    <af:panelGroupLayout id="pgl1" layout="scroll">
    <af:panelCollection id="pc1" styleClass="AFStretchWidth">
    <f:facet name="menus">
    <af:menu text="Print Menu" id="m1">
    <af:commandLink text="Print Notes" id="cl1" useWindow="true" partialSubmit="true">
    <af:setActionListener from="au_notes" to="#{pageFlowScope.jrxml}"/>
    <af:fileDownloadActionListener contentType="application/pdf" filename="Report"
    method="#{JasperBean.printreport}"/>
    </af:commandLink>
    </af:menu>
    </f:facet>
    <f:facet name="toolbar">
    <af:toolbar id="t2">
    <af:commandButton actionListener="#{bindings.CreateInsert.execute}" text="Insert"
    disabled="#{!bindings.CreateInsert.enabled}" id="cb2"/>
    <af:commandButton actionListener="#{bindings.Delete.execute}" text="Delete"
    disabled="#{!bindings.Delete.enabled}" id="cb3"/>
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.TAuOrgNotesView1.collectionModel}" var="row"
    rows="#{bindings.TAuOrgNotesView1.rangeSize}"
    emptyText="#{bindings.TAuOrgNotesView1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.TAuOrgNotesView1.rangeSize}" rowBandingInterval="0"
    selectedRowKeys="#{bindings.TAuOrgNotesView1.collectionModel.selectedRow}"
    selectionListener="#{bindings.TAuOrgNotesView1.collectionModel.makeCurrent}" rowSelection="single"
    id="t1" styleClass="AFStretchWidth" partialTriggers="::cb2 ::cb3 :::cb1" autoHeightRows="10">
    <af:column sortProperty="#{bindings.TAuOrgNotesView1.hints.NoteDate.name}" sortable="false"
    headerText="#{bindings.TAuOrgNotesView1.hints.NoteDate.label}" id="c1" width="60">
    <af:outputText value="#{row.NoteDate}" id="ot1">
    <af:convertDateTime pattern="#{bindings.TAuOrgNotesView1.hints.NoteDate.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.TAuOrgNotesView1.hints.NoteInitials.name}" sortable="false"
    headerText="#{bindings.TAuOrgNotesView1.hints.NoteInitials.label}" id="c2" width="60">
    <af:outputText value="#{row.NoteInitials}" id="ot2"/>
    </af:column>
    <af:column sortProperty="#{bindings.TAuOrgNotesView1.hints.NoteNote.name}" sortable="false"
    headerText="#{bindings.TAuOrgNotesView1.hints.NoteNote.label}" id="c3" width="700" noWrap="true">
    <af:outputText value="#{row.NoteNote}" id="ot3"/>
    </af:column>
    </af:table>
    </af:panelCollection>
    </af:panelGroupLayout>
    </f:facet>
    <f:facet name="start"/>
    <f:facet name="end"/>
    <f:facet name="top">
    <af:panelBox text="Note Info" id="pb1" rendered="#{bindings.NoteSeqNumber.inputValue!=null}">
    <f:facet name="toolbar">
    <af:commandButton actionListener="#{bindings.Commit.execute}" text="Save" id="cb1" partialSubmit="true"/>
    </f:facet>
    <af:panelGroupLayout layout="horizontal" id="pgl2" valign="top"
    rendered="#{bindings.NoteSeqNumber.inputValue!=null}">
    <af:panelFormLayout id="pfl1">
    <af:inputText value="#{bindings.NoteSeqNumber.inputValue}" label="#{bindings.NoteSeqNumber.hints.label}"
    required="#{bindings.NoteSeqNumber.hints.mandatory}"
    columns="#{bindings.NoteSeqNumber.hints.displayWidth}"
    maximumLength="#{bindings.NoteSeqNumber.hints.precision}"
    shortDesc="#{bindings.NoteSeqNumber.hints.tooltip}" id="it1" visible="false">
    <f:validator binding="#{bindings.NoteSeqNumber.validator}"/>
    <af:convertNumber groupingUsed="false" pattern="#{bindings.NoteSeqNumber.format}"/>
    </af:inputText>
    <af:inputDate value="#{bindings.NoteDate.inputValue}" label="#{bindings.NoteDate.hints.label}"
    required="#{bindings.NoteDate.hints.mandatory}"
    columns="#{bindings.NoteDate.hints.displayWidth}"
    shortDesc="#{bindings.NoteDate.hints.tooltip}" id="id1">
    <f:validator binding="#{bindings.NoteDate.validator}"/>
    <af:convertDateTime pattern="#{bindings.NoteDate.format}"/>
    </af:inputDate>
    <af:selectOneChoice value="#{bindings.NoteInitials.inputValue}" label="#{bindings.NoteInitials.label}"
    required="#{bindings.NoteInitials.hints.mandatory}"
    shortDesc="#{bindings.NoteInitials.hints.tooltip}" id="soc1">
    <f:selectItems value="#{bindings.NoteInitials.items}" id="si1"/>
    </af:selectOneChoice>
    <af:inputText value="#{bindings.NoteNote.inputValue}" label="#{bindings.NoteNote.hints.label}"
    required="#{bindings.NoteNote.hints.mandatory}" columns="105"
    maximumLength="#{bindings.NoteNote.hints.precision}"
    shortDesc="#{bindings.NoteNote.hints.tooltip}" id="it2" rows="5">
    <f:validator binding="#{bindings.NoteNote.validator}"/>
    </af:inputText>
    </af:panelFormLayout>
    <af:panelFormLayout id="pfl2" rows="2" maxColumns="2">
    <f:facet name="footer"/>
    <af:inputText value="#{bindings.NoteCreatedBy.inputValue}" label="#{bindings.NoteCreatedBy.hints.label}"
    required="#{bindings.NoteCreatedBy.hints.mandatory}"
    columns="#{bindings.NoteCreatedBy.hints.displayWidth}"
    maximumLength="#{bindings.NoteCreatedBy.hints.precision}"
    shortDesc="#{bindings.NoteCreatedBy.hints.tooltip}" id="it3">
    <f:validator binding="#{bindings.NoteCreatedBy.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.NoteModifiedBy.inputValue}" label="#{bindings.NoteModifiedBy.hints.label}"
    required="#{bindings.NoteModifiedBy.hints.mandatory}"
    columns="#{bindings.NoteModifiedBy.hints.displayWidth}"
    maximumLength="#{bindings.NoteModifiedBy.hints.precision}"
    shortDesc="#{bindings.NoteModifiedBy.hints.tooltip}" id="it4">
    <f:validator binding="#{bindings.NoteModifiedBy.validator}"/>
    </af:inputText>
    <af:inputDate value="#{bindings.NoteDateCreated.inputValue}" label="#{bindings.NoteDateCreated.hints.label}"
    required="#{bindings.NoteDateCreated.hints.mandatory}"
    columns="#{bindings.NoteDateCreated.hints.displayWidth}"
    shortDesc="#{bindings.NoteDateCreated.hints.tooltip}" id="id2">
    <f:validator binding="#{bindings.NoteDateCreated.validator}"/>
    <af:convertDateTime pattern="#{bindings.NoteDateCreated.format}"/>
    </af:inputDate>
    <af:inputDate value="#{bindings.NoteDateModified.inputValue}"
    label="#{bindings.NoteDateModified.hints.label}"
    required="#{bindings.NoteDateModified.hints.mandatory}"
    columns="#{bindings.NoteDateModified.hints.displayWidth}"
    shortDesc="#{bindings.NoteDateModified.hints.tooltip}" id="id3">
    <f:validator binding="#{bindings.NoteDateModified.validator}"/>
    <af:convertDateTime pattern="#{bindings.NoteDateModified.format}"/>
    </af:inputDate>
    </af:panelFormLayout>
    </af:panelGroupLayout>
    </af:panelBox>
    </f:facet>
    </af:panelStretchLayout>
    </jsp:root>
    *** Non Working jsff****
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:f="http://java.sun.com/jsf/core">
    <af:panelStretchLayout id="psl1" styleClass="AFStretchWidth" startWidth="0px" topHeight="125px" bottomHeight="0px"
    endWidth="0px" dimensionsFrom="auto">
    <f:facet name="bottom"/>
    <f:facet name="center">
    <af:panelGroupLayout id="pgl1" layout="scroll">
    <af:panelCollection id="pc1" styleClass="AFStretchWidth">
    <f:facet name="menus"/>
    <f:facet name="toolbar">
    <af:toolbar id="t2">
    <af:commandButton actionListener="#{bindings.CreateInsert.execute}" text="Insert"
    disabled="#{!bindings.CreateInsert.enabled}" id="cb1"/>
    <af:commandButton actionListener="#{bindings.Delete.execute}" text="Delete"
    disabled="#{!bindings.Delete.enabled}" id="cb3"/>
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.TAuInvestigatorsView1.collectionModel}" var="row"
    rows="#{bindings.TAuInvestigatorsView1.rangeSize}"
    emptyText="#{bindings.TAuInvestigatorsView1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.TAuInvestigatorsView1.rangeSize}" rowBandingInterval="0"
    selectedRowKeys="#{bindings.TAuInvestigatorsView1.collectionModel.selectedRow}"
    selectionListener="#{bindings.TAuInvestigatorsView1.collectionModel.makeCurrent}" rowSelection="single"
    id="t1" styleClass="AFStretchWidth" partialTriggers="::cb1 ::cb3 :::cb2" autoHeightRows="10">
    <af:column sortProperty="#{bindings.TAuInvestigatorsView1.hints.InvFirstName.name}" sortable="false"
    headerText="#{bindings.TAuInvestigatorsView1.hints.InvFirstName.label}" id="c1" width="60">
    <af:outputText value="#{row.InvFirstName}" id="ot1"/>
    </af:column>
    <af:column sortProperty="#{bindings.TAuInvestigatorsView1.hints.InvLastName.name}" sortable="false"
    headerText="#{bindings.TAuInvestigatorsView1.hints.InvLastName.label}" id="c2">
    <af:outputText value="#{row.InvLastName}" id="ot2"/>
    </af:column>
    <af:column sortProperty="#{bindings.TAuInvestigatorsView1.hints.InvStatus.name}" sortable="false"
    headerText="#{bindings.TAuInvestigatorsView1.hints.InvStatus.label}" id="c3">
    <af:outputText value="#{row.InvStatus}" id="ot3"/>
    </af:column>
    <af:column sortProperty="#{bindings.TAuInvestigatorsView1.hints.InvInitials.name}" sortable="false"
    headerText="#{bindings.TAuInvestigatorsView1.hints.InvInitials.label}" id="c4">
    <af:outputText value="#{row.InvInitials}" id="ot4"/>
    </af:column>
    </af:table>
    </af:panelCollection>
    </af:panelGroupLayout>
    </f:facet>
    <f:facet name="start"/>
    <f:facet name="end"/>
    <f:facet name="top">
    <af:panelBox text="Investigator Info" id="pb1">
    <f:facet name="toolbar">
    <af:group id="g1">
    <af:commandButton actionListener="#{bindings.Commit.execute}" text="Save" id="cb2" partialSubmit="true"/>
    </af:group>
    </f:facet>
    <af:panelFormLayout id="pfl1" maxColumns="2" rows="2">
    <af:inputText value="#{bindings.InvFirstName.inputValue}" label="#{bindings.InvFirstName.hints.label}"
    required="#{bindings.InvFirstName.hints.mandatory}"
    columns="#{bindings.InvFirstName.hints.displayWidth}"
    maximumLength="#{bindings.InvFirstName.hints.precision}"
    shortDesc="#{bindings.InvFirstName.hints.tooltip}" id="it1">
    <f:validator binding="#{bindings.InvFirstName.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.InvLastName.inputValue}" label="#{bindings.InvLastName.hints.label}"
    required="#{bindings.InvLastName.hints.mandatory}"
    columns="#{bindings.InvLastName.hints.displayWidth}"
    maximumLength="#{bindings.InvLastName.hints.precision}"
    shortDesc="#{bindings.InvLastName.hints.tooltip}" id="it2">
    <f:validator binding="#{bindings.InvLastName.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.InvStatus.inputValue}" label="#{bindings.InvStatus.hints.label}"
    required="#{bindings.InvStatus.hints.mandatory}"
    columns="#{bindings.InvStatus.hints.displayWidth}"
    maximumLength="#{bindings.InvStatus.hints.precision}"
    shortDesc="#{bindings.InvStatus.hints.tooltip}" id="it3">
    <f:validator binding="#{bindings.InvStatus.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.InvInitials.inputValue}" label="#{bindings.InvInitials.hints.label}"
    required="#{bindings.InvInitials.hints.mandatory}"
    columns="#{bindings.InvInitials.hints.displayWidth}"
    maximumLength="#{bindings.InvInitials.hints.precision}"
    shortDesc="#{bindings.InvInitials.hints.tooltip}" id="it4">
    <f:validator binding="#{bindings.InvInitials.validator}"/>
    </af:inputText>
    </af:panelFormLayout>
    <af:panelFormLayout id="pfl2" maxColumns="2" rows="2">
    <f:facet name="footer"/>
    <af:inputText value="#{bindings.InvCreatedBy.inputValue}" label="#{bindings.InvCreatedBy.hints.label}"
    required="#{bindings.InvCreatedBy.hints.mandatory}"
    columns="#{bindings.InvCreatedBy.hints.displayWidth}"
    maximumLength="#{bindings.InvCreatedBy.hints.precision}"
    shortDesc="#{bindings.InvCreatedBy.hints.tooltip}" id="it5">
    <f:validator binding="#{bindings.InvCreatedBy.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.InvModifiedBy.inputValue}" label="#{bindings.InvModifiedBy.hints.label}"
    required="#{bindings.InvModifiedBy.hints.mandatory}"
    columns="#{bindings.InvModifiedBy.hints.displayWidth}"
    maximumLength="#{bindings.InvModifiedBy.hints.precision}"
    shortDesc="#{bindings.InvModifiedBy.hints.tooltip}" id="it6">
    <f:validator binding="#{bindings.InvModifiedBy.validator}"/>
    </af:inputText>
    <af:inputDate value="#{bindings.InvDateCreated.inputValue}" label="#{bindings.InvDateCreated.hints.label}"
    required="#{bindings.InvDateCreated.hints.mandatory}"
    columns="#{bindings.InvDateCreated.hints.displayWidth}"
    shortDesc="#{bindings.InvDateCreated.hints.tooltip}" id="id1">
    <f:validator binding="#{bindings.InvDateCreated.validator}"/>
    <af:convertDateTime pattern="#{bindings.InvDateCreated.format}"/>
    </af:inputDate>
    <af:inputDate value="#{bindings.InvDateModified.inputValue}" label="#{bindings.InvDateModified.hints.label}"
    required="#{bindings.InvDateModified.hints.mandatory}"
    columns="#{bindings.InvDateModified.hints.displayWidth}"
    shortDesc="#{bindings.InvDateModified.hints.tooltip}" id="id2">
    <f:validator binding="#{bindings.InvDateModified.validator}"/>
    <af:convertDateTime pattern="#{bindings.InvDateModified.format}"/>
    </af:inputDate>
    </af:panelFormLayout>
    </af:panelBox>
    </f:facet>
    </af:panelStretchLayout>
    </jsp:root>

    This is too much code to digest, and it's not formatted (read the FAQ https://forums.oracle.com/forums/help.jspa to find out how to do this).
    So some general remarks: as it runs on your embedded WLS but not on a stand alone server it might be a configuration mismatch. Have you made sure that the standalone WLS runs the exact adf runtime libraries our jdev is using?
    Any errors in the log file on the standalone server?
    Have you tried to switch the tab order to find out if the problem is still on the not working jsff?
    Timo

  • ADF Table sorting on Select One choice column display value

    Hi Team,
    We are using an ADF with EJB application.
    I have an ADF table, which has a select one choice in it. (The Select one Choice list elements are populated from a java bean).
    Presetnly, when we perform the sorting on this SOC column, the table is getting sorted based on SOC value not on the Label.
    How to sort this column based on the SOC Lable filed.
    Please help us.
    Thank you,
    Keshav Ch

    Hi Frank,
    I took a transient column in the Entity and populated this column with the LOV label value.
    In the ADF added this coulmn to the table and set it is rendered false.
    Set the sortable property of the lov column to the new trasient column.
    Now the sort will work with the label filed (Transient Column)
    Thank you,
    Keshav ch

Maybe you are looking for