Forum Stats

  • 3,873,041 Users
  • 2,266,498 Discussions
  • 7,911,411 Comments

Discussions

ValueChangeListener is not working

user4051386
user4051386 Member Posts: 7 Blue Ribbon

Jdeveloper 12C

i'm using master form detail table in page fragment inside a bounded task flow

ValueChangeListener is not working under any item in the fragment

if I used unbounded task flow using the master detail ,ValueChangeListener works fine

if I create a separate page with the same master detail it also works fine

i need ur help

Answers

  • Timo Hahn
    Timo Hahn Senior Principal Technical Consultant - Oracle ACE Director Member, Moderator Posts: 38,904 Red Diamond

    User, tell us your exact JDev version, please!


    It would greatly help if you could show us your code or provide a reproducible test case. From your description, we can't tell.


    Timo

    user4051386
  • user4051386
    user4051386 Member Posts: 7 Blue Ribbon

    Version 12.2.1.4.0

    <?xml version='1.0' encoding='UTF-8'?>

    <ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:af="http://xmlns.oracle.com/adf/faces/rich"

                    xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core">

     <c:set var="viewcontrollerBundle" value="#{adfBundle['model.TaibahBundle']}"/>

     <af:panelGroupLayout layout="vertical" id="pgl1">

      <af:panelHeader text="#{viewcontrollerBundle.request}" id="ph1">

      <af:showDetail disclosed="false" id="sd1" shortDesc="#{viewcontrollerBundle.Operations}"

                  disclosedText="#{viewcontrollerBundle.Operations}">

      <af:panelGridLayout id="pgl2" shortDesc="#{viewcontrollerBundle.Operations}" styleClass="AFStretchWidth"

                inlineStyle=" height:10px;">

        <af:gridRow marginTop="5px" height="auto" marginBottom="5px" id="gr1">

          <af:gridCell marginStart="5px" width="25%" id="gc1" halign="center">

            <af:link actionListener="#{bindings.Commit.execute}" disabled="false" id="l1"

                 icon="/IMAGES/Save.png"/>

          </af:gridCell>

          <af:gridCell marginStart="5px" width="25%" id="gc2" halign="center">

            <af:link id="l2" icon="/IMAGES/RollBack.png" shortDesc="#{viewcontrollerBundle.Rollback}"

                 actionListener="#{bindings.Rollback.execute}"/>

          </af:gridCell>

          <af:gridCell marginStart="5px" width="25%" id="gc3" halign="center">

            <af:link id="l3" icon="/IMAGES/refresh.png" shortDesc="#{viewcontrollerBundle.back}"/>

          </af:gridCell>

          <af:gridCell marginStart="5px" width="25%" id="gc5" halign="center">

            <af:link id="l5" icon="/IMAGES/print.png" shortDesc="#{viewcontrollerBundle.print}">

              <af:showPrintablePageBehavior/>

            </af:link>

          </af:gridCell>

          <af:gridCell marginStart="5px" width="25%" marginEnd="5px" id="gc4" halign="center">

            <af:link id="l4" icon="/IMAGES/GoBack.png" shortDesc="#{viewcontrollerBundle.refresh}"

                 action="BackFromCreateRequestPage" actionListener="#{bindings.Rollback.execute}"/>

          </af:gridCell>

                <af:gridCell marginStart="5px" width="25%" marginEnd="5px" id="gc6" halign="center">

            <af:link id="l6" icon="/IMAGES/CreNew.png" shortDesc="#{viewcontrollerBundle.refresh}"

                 actionListener="#{bindings.CreateInsert.execute}"/>

          </af:gridCell>

        </af:gridRow>

      </af:panelGridLayout>

      </af:showDetail>

       <af:panelFormLayout id="pfl1">

         <af:inputText value="#{data.view_RequestCreatePagePageDef.StudentNumber.inputValue}" shortDesc="#{bindings.StudentNumber.hints.tooltip}"

                id="ot3" label="#{bindings.StudentNumber.hints.label}" visible="#{pageFlowScope.RequestBean.stdNumVisible}"

                valueChangeListener="#{TempBean.TestUp}" immediate="true">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.StudentNumber.format}"/>

         </af:inputText>

         <af:inputText value="#{bindings.CourseCode.inputValue}" shortDesc="#{bindings.CourseCode.hints.tooltip}"

                id="ot4" label="#{bindings.CourseCode.hints.label}" visible="#{pageFlowScope.RequestBean.courseVisible}">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.CourseCode.format}"/>

         </af:inputText>

         <af:inputText value="#{bindings.CourseResult.inputValue}" shortDesc="#{bindings.CourseResult.hints.tooltip}"

                id="ot5" label="#{bindings.CourseResult.hints.label}" visible="#{pageFlowScope.RequestBean.courseResultvisible}">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.CourseResult.format}"/>

         </af:inputText>

         <af:inputText value="#{bindings.StudyCode.inputValue}" shortDesc="#{bindings.StudyCode.hints.tooltip}"

                id="ot6" label="#{bindings.StudyCode.hints.label}" visible="#{pageFlowScope.RequestBean.studyVisible}">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.StudyCode.format}"/>

         </af:inputText>

         <af:inputText value="#{bindings.CompId.inputValue}" shortDesc="#{bindings.CompId.hints.tooltip}" id="ot7"

                label="#{bindings.CompId.hints.label}" visible="#{pageFlowScope.RequestBean.compVisible}">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.CompId.format}"/>

         </af:inputText>

         <af:inputText value="#{bindings.BranchId.inputValue}" shortDesc="#{bindings.BranchId.hints.tooltip}" id="ot8"

                label="#{bindings.BranchId.hints.label}" visible="#{pageFlowScope.RequestBean.branchVisible}">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.BranchId.format}"/>

         </af:inputText>

         <af:inputText value="#{bindings.MajorCode.inputValue}" shortDesc="#{bindings.MajorCode.hints.tooltip}"

                id="ot9" label="#{bindings.MajorCode.hints.label}" visible="#{pageFlowScope.RequestBean.majorVisible}">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.MajorCode.format}"/>

         </af:inputText>

         <af:inputText value="#{bindings.RequestStatus.inputValue}" shortDesc="#{bindings.RequestStatus.hints.tooltip}"

                id="ot14" label="#{bindings.RequestStatus.hints.label}">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.RequestStatus.format}"/>

         </af:inputText>

        <af:button text="button 1" id="b1" action="#{requestFileUpload.UpReqFile}"/>

        <f:facet name="footer"/>

       </af:panelFormLayout>

      </af:panelHeader>

      <af:panelHeader text="#{viewcontrollerBundle.documentsUpload}" id="ph2">

       <af:table rows="#{bindings.AdfRequestsDocumentVO.rangeSize}"

            fetchSize="#{bindings.AdfRequestsDocumentVO.rangeSize}"

            emptyText="#{bindings.AdfRequestsDocumentVO.viewable ? 'No data to display.' : 'Access Denied.'}"

            var="row" value="#{bindings.AdfRequestsDocumentVO.collectionModel}" rowBandingInterval="0"

            selectedRowKeys="#{bindings.AdfRequestsDocumentVO.collectionModel.selectedRow}"

            selectionListener="#{bindings.AdfRequestsDocumentVO.collectionModel.makeCurrent}" rowSelection="single"

            id="t1" styleClass="AFStretchWidth" partialTriggers="::l6">

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.DocumentCode.label}" id="c3" width="40%">

         <af:selectOneChoice value="#{row.bindings.DocumentCode.inputValue}" label="#{row.bindings.DocumentCode.label}"

                   required="#{bindings.AdfRequestsDocumentVO.hints.DocumentCode.mandatory}"

                   shortDesc="#{bindings.AdfRequestsDocumentVO.hints.DocumentCode.tooltip}" id="soc1">

          <f:selectItems value="#{row.bindings.DocumentCode.items}" id="si1"/>

          <f:validator binding="#{row.bindings.DocumentCode.validator}"/>

         </af:selectOneChoice>

        </af:column>

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.GrpCompId.label}"

              sortProperty="#{bindings.AdfRequestsDocumentVO.hints.GrpCompId.name}" sortable="false" id="c1"

              visible="false">

         <af:outputText value="#{row.GrpCompId}" shortDesc="#{bindings.AdfRequestsDocumentVO.hints.GrpCompId.tooltip}"

                 id="ot15">

          <af:convertNumber groupingUsed="false" pattern="#{bindings.AdfRequestsDocumentVO.hints.GrpCompId.format}"/>

         </af:outputText>

        </af:column>

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.RequestNumber.label}"

              sortProperty="#{bindings.AdfRequestsDocumentVO.hints.RequestNumber.name}" sortable="false" id="c2"

              visible="false">

         <af:outputText value="#{row.RequestNumber}"

                 shortDesc="#{bindings.AdfRequestsDocumentVO.hints.RequestNumber.tooltip}" id="ot16">

          <af:convertNumber groupingUsed="false"

                   pattern="#{bindings.AdfRequestsDocumentVO.hints.RequestNumber.format}"/>

         </af:outputText>

        </af:column>

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.Remarks.label}"

              sortProperty="#{bindings.AdfRequestsDocumentVO.hints.Remarks.name}" 

              sortable="false" id="c4"

              width="40%">

         <af:inputText value="#{row.bindings.FileName.inputValue}" simple="true"

                required="#{bindings.AdfRequestsDocumentVO.hints.FileName.mandatory}"

                columns="#{bindings.AdfRequestsDocumentVO.hints.FileName.displayWidth}"

                maximumLength="#{bindings.AdfRequestsDocumentVO.hints.FileName.precision}"

                shortDesc="#{bindings.AdfRequestsDocumentVO.hints.FileName.tooltip}" id="it1"

                valueChangeListener="#{TempBean.TestUp}">

          <f:validator binding="#{row.bindings.FileName.validator}"/>

         </af:inputText>

        </af:column>

         

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.CreateAppUser.label}"

              sortProperty="#{bindings.AdfRequestsDocumentVO.hints.CreateAppUser.name}" sortable="false" id="c5"

              visible="false">

         <af:outputText value="#{row.CreateAppUser}"

                 shortDesc="#{bindings.AdfRequestsDocumentVO.hints.CreateAppUser.tooltip}" id="ot19"/>

        </af:column>

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.ModifyAppUser.label}"

              sortProperty="#{bindings.AdfRequestsDocumentVO.hints.ModifyAppUser.name}" sortable="false" id="c6"

              visible="false">

         <af:outputText value="#{row.ModifyAppUser}"

                 shortDesc="#{bindings.AdfRequestsDocumentVO.hints.ModifyAppUser.tooltip}" id="ot20"/>

        </af:column>

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.CreationDate.label}"

              sortProperty="#{bindings.AdfRequestsDocumentVO.hints.CreationDate.name}" sortable="false" id="c7"

              visible="false">

         <af:outputText value="#{row.CreationDate}"

                 shortDesc="#{bindings.AdfRequestsDocumentVO.hints.CreationDate.tooltip}" id="ot21">

          <af:convertDateTime pattern="#{bindings.AdfRequestsDocumentVO.hints.CreationDate.format}"/>

         </af:outputText>

        </af:column>

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.ModifyDate.label}"

              sortProperty="#{bindings.AdfRequestsDocumentVO.hints.ModifyDate.name}" sortable="false" id="c8"

              visible="false">

         <af:outputText value="#{row.ModifyDate}"

                 shortDesc="#{bindings.AdfRequestsDocumentVO.hints.ModifyDate.tooltip}" id="ot22">

          <af:convertDateTime pattern="#{bindings.AdfRequestsDocumentVO.hints.ModifyDate.format}"/>

         </af:outputText>

        </af:column>

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.DocumentExt.label}"

              sortProperty="#{bindings.AdfRequestsDocumentVO.hints.DocumentExt.name}" sortable="false" id="c9"

              visible="false">

         <af:outputText value="#{row.DocumentExt}"

                 shortDesc="#{bindings.AdfRequestsDocumentVO.hints.DocumentExt.tooltip}" id="ot23"/>

        </af:column>

        <af:column headerText="#{bindings.AdfRequestsDocumentVO.hints.DocumentFile.label}" id="c10">

         <af:inputFile value="#{row.Remarks}" shortDesc="#{bindings.AdfRequestsDocumentVO.hints.Remarks.tooltip}"

                id="ot18" label="Label 1" converter="javax.faces.BigDecimal"

                valueChangeListener="#{requestFileUpload.UploadFile}"

                binding="#{requestFileUpload.ffile}"/>

        </af:column>

       </af:table>

      </af:panelHeader>

     </af:panelGroupLayout>

    </ui:composition>

  • Timo Hahn
    Timo Hahn Senior Principal Technical Consultant - Oracle ACE Director Member, Moderator Posts: 38,904 Red Diamond

    Well, you make it pretty hard to help you.

    This is a lot of code, and you did not tell us which valueChangeListener is not working. And I don't see the code of the listener :(


    Timo

  • dvohra21
    dvohra21 Member Posts: 14,691 Gold Crown

    Please verify the fragment is created and used properly.

    How is the fragment created?

    1. In the Applications window, right-click the node where you wish to create and store page fragments and choose New > ADF Page Fragment.

    How is the fragment used?

    To add a page fragment using the Components Window:

    1. In the Components window, in the JSP page, drag a Include and drop it on the page.
    2. In the Insert Include dialog, use the dropdown list to select the JSF page to include. Optionally, select whether or not to flush the buffer before the page is included. For help with the dialog, click Help or press F1.

    https://docs.oracle.com/middleware/12213/adf/develop-faces/creating-and-reusing-fragments-page-templates-and-components.htm#ADFUI9879