Мое требование: после того, как я введу значение в поле ввода текста, будет вызываться valuechangelistner, и данные будут заполнены в следующих полях только для чтения, а затем также должны быть заполнены следующие два входных текста.
Для этого я использую VO на основе запроса.
![enter image description here](https://i.stack.imgur.com/zI7yG.jpg)
Когда я вводил номер сотрудника, номер сотрудника также заполнялся в приведенном ниже тексте ввода, ноЯ хочу, чтобы уровень также заполнялся в тексте ввода уровня ниже.
<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