如何使用valuechangelistner将数据从只读字段获取到新的输入文本字段?

时间:2018-05-21 14:15:38

标签: oracle-adf jdeveloper

我的要求是,一旦我在输入文本字段中输入值,valuechangelistner就会调用&数据将填入下一个只读字段&然后还应填充以下两个输入文本数据。

我正在使用基于查询的VO。

enter image description here

当我输入员工编号时,员工编号也填写在下面的输入文本中,但我希望Level也填充在Level的以下输入文本中。

<af:panelGroupLayout id="pgl1">
        <af:spacer width="40" height="20" id="s5"/>
    <af:panelGroupLayout id="pgl2" layout="horizontal">
      <af:button text="Back to Search Page" id="b1" action="backCompEmptoSearch"/>
    </af:panelGroupLayout>
    <!--<af:inputText value="#{bindings.EmployeeNumber.inputValue}" label="#{bindings.EmployeeNumber.hints.label}"
                required="#{bindings.EmployeeNumber.hints.mandatory}"
                columns="#{bindings.EmployeeNumber.hints.displayWidth}"
                maximumLength="#{bindings.EmployeeNumber.hints.precision}" 
                shortDesc="#{bindings.EmployeeNumber.hints.tooltip}" id="it1"
                  valueChangeListener="#{CompBean.emphdrVCL}" autoSubmit="true">
    <f:validator binding="#{bindings.EmployeeNumber.validator}"/>
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeeNumber.format}"/>
  </af:inputText>-->
    <af:inputText label="EmployeeNumber" id="it9"  valueChangeListener="#{CompBean.emphdrVCL}" autoSubmit="true"/> 
    <af:spacer width="40" height="60" id="s3"/>
  <af:panelFormLayout id="pfl1" partialTriggers="it9" rows="2">
    <af:inputText value="#{bindings.EmployeeName.inputValue}" label="#{bindings.EmployeeName.hints.label}"
                  required="#{bindings.EmployeeName.hints.mandatory}" readOnly="true"
                  columns="#{bindings.EmployeeName.hints.displayWidth}"
                  maximumLength="#{bindings.EmployeeName.hints.precision}"
                  shortDesc="#{bindings.EmployeeName.hints.tooltip}" id="it2">
      <f:validator binding="#{bindings.EmployeeName.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.ServiceLine.inputValue}" label="#{bindings.ServiceLine.hints.label}"
                  required="#{bindings.ServiceLine.hints.mandatory}" readOnly="true"
                  columns="#{bindings.ServiceLine.hints.displayWidth}"
                  maximumLength="#{bindings.ServiceLine.hints.precision}"
                  shortDesc="#{bindings.ServiceLine.hints.tooltip}" id="it3">
      <f:validator binding="#{bindings.ServiceLine.validator}"/>
      <af:convertNumber groupingUsed="false" pattern="#{bindings.ServiceLine.format}"/>
    </af:inputText>
    <af:inputText value="#{bindings.EmployeeType.inputValue}" label="#{bindings.EmployeeType.hints.label}"
                  required="#{bindings.EmployeeType.hints.mandatory}" readOnly="true"
                  columns="#{bindings.EmployeeType.hints.displayWidth}"
                  maximumLength="#{bindings.EmployeeType.hints.precision}"
                  shortDesc="#{bindings.EmployeeType.hints.tooltip}" id="it4">
      <f:validator binding="#{bindings.EmployeeType.validator}"/>
    </af:inputText>

    <af:inputText value="#{bindings.LevelId.inputValue}" label="#{bindings.LevelId.hints.label}" 
                  required="#{bindings.LevelId.hints.mandatory}" readOnly="true"
                  columns="#{bindings.LevelId.hints.displayWidth}" maximumLength="#{bindings.LevelId.hints.precision}"
                  shortDesc="#{bindings.LevelId.hints.tooltip}" id="it6" autoSubmit="true"
                  valueChangeListener="#{CompBean.TestVcl}">
      <f:validator binding="#{bindings.LevelId.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.CountryId.inputValue}" label="#{bindings.CountryId.hints.label}"
                  required="#{bindings.CountryId.hints.mandatory}" readOnly="true"
                  columns="#{bindings.CountryId.hints.displayWidth}"
                  maximumLength="#{bindings.CountryId.hints.precision}" shortDesc="#{bindings.CountryId.hints.tooltip}"
                  id="it7">
      <f:validator binding="#{bindings.CountryId.validator}"/>
    </af:inputText>
    <af:inputText value="#{bindings.TownOrCity.inputValue}" label="#{bindings.TownOrCity.hints.label}"
                  required="#{bindings.TownOrCity.hints.mandatory}" readOnly="true"
                  columns="#{bindings.TownOrCity.hints.displayWidth}"
                  maximumLength="#{bindings.TownOrCity.hints.precision}"
                  shortDesc="#{bindings.TownOrCity.hints.tooltip}" id="it8">
      <f:validator binding="#{bindings.TownOrCity.validator}"/>
    </af:inputText>
      <af:inputText value="#{bindings.EffectiveStartDate.inputValue}" label="#{bindings.EffectiveStartDate.hints.label}"
                    required="#{bindings.EffectiveStartDate.hints.mandatory}"
                    columns="#{bindings.EffectiveStartDate.hints.displayWidth}"
                    maximumLength="#{bindings.EffectiveStartDate.hints.precision}"
                    shortDesc="#{bindings.EffectiveStartDate.hints.tooltip}" id="it5">
        <f:validator binding="#{bindings.EffectiveStartDate.validator}"/>
        <af:convertDateTime pattern="#{bindings.EffectiveStartDate.format}"/>
      </af:inputText>
      <af:inputText value="#{bindings.EffectiveEndDate.inputValue}" label="#{bindings.EffectiveEndDate.hints.label}"
                    required="#{bindings.EffectiveEndDate.hints.mandatory}"
                    columns="#{bindings.EffectiveEndDate.hints.displayWidth}"
                    maximumLength="#{bindings.EffectiveEndDate.hints.precision}"
                    shortDesc="#{bindings.EffectiveEndDate.hints.tooltip}" id="it10">
        <f:validator binding="#{bindings.EffectiveEndDate.validator}"/>
        <af:convertDateTime pattern="#{bindings.EffectiveEndDate.format}"/>
      </af:inputText>
      <af:inputText value="#{bindings.Ctc.inputValue}" label="#{bindings.Ctc.hints.label}"
                    required="#{bindings.Ctc.hints.mandatory}" columns="#{bindings.Ctc.hints.displayWidth}"
                    maximumLength="#{bindings.Ctc.hints.precision}" shortDesc="#{bindings.Ctc.hints.tooltip}" id="it17">
        <f:validator binding="#{bindings.Ctc.validator}"/>
        <af:convertNumber groupingUsed="false" pattern="#{bindings.Ctc.format}"/>
      </af:inputText>
    </af:panelFormLayout>
  <af:spacer width="40" height="40" id="s40"/>
  <!--<af:inputText value="#{bindings.Ctc.inputValue}" label="#{bindings.Ctc.hints.label}" 
                required="#{bindings.Ctc.hints.mandatory}" columns="#{bindings.Ctc.hints.displayWidth}"
                maximumLength="#{bindings.Ctc.hints.precision}" shortDesc="#{bindings.Ctc.hints.tooltip}" id="it5">
    <f:validator binding="#{bindings.Ctc.validator}"/>
    <af:convertNumber groupingUsed="false" pattern="#{bindings.Ctc.format}"/>
  </af:inputText>-->
  <af:panelFormLayout id="pfl2">

    <af:inputText label="EMPLOYEE_NUMBER" id="it11"  binding="#{CompBean.propertyEmpno}" partialTriggers="it9"/>
    <af:inputText label="CTC" id="it1"   binding="#{CompBean.propertyCtc}"/>
      <af:inputText label="Level" id="it18" binding="#{CompBean.propertyLevel}" partialTriggers="it6"/> 
      <!--<af:inputDate label="EFFECTIVE_START_DATE" id="id1" binding="#{CompBean.propertyEfdate}"/>

    <af:inputDate label="EFFECTIVE_END_DATE" id="id2" binding="#{CompBean.propertyEdDate}"/>-->

    </af:panelFormLayout>

Jedeveloper 12.1.3.0.0

1 个答案:

答案 0 :(得分:0)

关于emphdrVCL方法, 您正在使用您从用户输入获得的员工编号来查询VO。

在执行VO之后,获取当前行并获取Ctc和LevelId的attribte值并设置propertyLevel的值,propertyEdDate