InputText 필드에서 Enter 키를 누르면 데이터를 삽입 할 새 행을 만들려고합니다. 내가 입력 키를 누른 클라이언트와 서버 수신기를 입력 필드에 설정되어 있지만 작동하지 않는 경우 확인 자바를 사용하여 이것을 달성하려했습니다. 아무도 내가 잘못한 곳에서 나를 도울 수 있습니까? 내 JSFF 페이지 :Oracle ADF는 입력 텍스트의 Enter 키를 누를 때 새 행을 만듭니다.
<?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">
<af:resource type="javascript">
function handleEnterEvent() {
var _keyCode = evt.getKeyCode();
if (_keyCode == AdfKeyStroke.ENTER_KEY){
var comp = evt.getSource();
AdfCustomEvent.queue(comp, "EnterEvent", {fvalue:comp.getSubmittedValue()}, false);
evt.cancel();
}
}
</af:resource>
<af:table value="#{bindings.TransMstView1.collectionModel}" var="row"
rows="#{bindings.TransMstView1.rangeSize}"
emptyText="#{bindings.TransMstView1.viewable ? 'No data to display.' : 'Access Denied.'}"
rowBandingInterval="0" fetchSize="#{bindings.TransMstView1.rangeSize}" id="t1">
<af:column headerText="#{bindings.TransMstView1.hints.TrNo.label}" id="c1">
<af:inputText value="#{row.bindings.TrNo.inputValue}" label="#{bindings.TransMstView1.hints.TrNo.label}"
required="#{bindings.TransMstView1.hints.TrNo.mandatory}"
columns="#{bindings.TransMstView1.hints.TrNo.displayWidth}"
maximumLength="#{bindings.TransMstView1.hints.TrNo.precision}"
shortDesc="#{bindings.TransMstView1.hints.TrNo.tooltip}" id="it1">
<f:validator binding="#{row.bindings.TrNo.validator}"/>
<af:convertNumber groupingUsed="false" pattern="#{bindings.TransMstView1.hints.TrNo.format}"/>
</af:inputText>
</af:column>
<af:column headerText="#{bindings.TransMstView1.hints.TrDt.label}" id="c2">
<af:inputDate value="#{row.bindings.TrDt.inputValue}" label="#{bindings.TransMstView1.hints.TrDt.label}"
required="#{bindings.TransMstView1.hints.TrDt.mandatory}"
columns="#{bindings.TransMstView1.hints.TrDt.displayWidth}"
shortDesc="#{bindings.TransMstView1.hints.TrDt.tooltip}" id="id1">
<f:validator binding="#{row.bindings.TrDt.validator}"/>
<af:convertDateTime pattern="#{bindings.TransMstView1.hints.TrDt.format}"/>
</af:inputDate>
</af:column>
<af:column headerText="#{bindings.TransMstView1.hints.TrMode.label}" id="c3">
<af:inputText value="#{row.bindings.TrMode.inputValue}" label="#{bindings.TransMstView1.hints.TrMode.label}"
required="#{bindings.TransMstView1.hints.TrMode.mandatory}"
columns="#{bindings.TransMstView1.hints.TrMode.displayWidth}"
maximumLength="#{bindings.TransMstView1.hints.TrMode.precision}"
shortDesc="#{bindings.TransMstView1.hints.TrMode.tooltip}" id="it2">
<f:validator binding="#{row.bindings.TrMode.validator}"/>
<af:convertNumber groupingUsed="false" pattern="#{bindings.TransMstView1.hints.TrMode.format}"/>
</af:inputText>
</af:column>
<af:column headerText="#{bindings.TransMstView1.hints.TrType.label}" id="c4">
<af:inputText value="#{row.bindings.TrType.inputValue}" label="#{bindings.TransMstView1.hints.TrType.label}"
required="#{bindings.TransMstView1.hints.TrType.mandatory}"
columns="#{bindings.TransMstView1.hints.TrType.displayWidth}"
maximumLength="#{bindings.TransMstView1.hints.TrType.precision}"
shortDesc="#{bindings.TransMstView1.hints.TrType.tooltip}" id="it3">
<f:validator binding="#{row.bindings.TrType.validator}"/>
<af:convertNumber groupingUsed="false" pattern="#{bindings.TransMstView1.hints.TrType.format}"/>
<af:clientListener method="handleEnterEvent" type="keyPress"/>
<af:serverListener type="EnterEvent" method="#
{backingBeanScope.backing_mas.handleEnterEvent}"/>
</af:inputText>
</af:column>
</af:table>
</ui:composition>
콩 백업 나의 방법은 버튼에 매핑 defaultCommand라는 특성을 가지고
public void handleEnterEvent(ClientEvent ce) {
ViewObject vo = this.getTransMstView1();
vo.executeEmptyRowSet();
Row row = vo.createRow();
vo.insertRow(row);
vo.setCurrentRow(row);
}
JS 함수 handleEnterEvent에는 매개 변수 (evt)가 있어야합니다! –
그게 작동하지 않았다. – SHA