JSF画面で入力制御の例

JSF画面データテーブルの表を表示して入力を radio ボタンで制御する方法

<tr:table の partialTriggers 属性で、radio ボタン の id を
指定することで、valueChangeListener が指定するサーバ側の処理で、
<tr:table の value のデータを変更したり、<tr:inputText の
disabled を制御することで、テキスト入力&表示の制御を行う。
例は以下のとおり。


<tr:selectOneRadio id="s201"  layout="horizontal"
                   binding="#{fooregist.statusRadio}"
                   value="#{fooregist.ttFoo.flg}"
                   autoSubmit="true"
                   valueChangeListener="#{fooregist.changeValueFlg}">

    <f:selectItems id="sitem201" value="#{fooregist.listFlg}" />
</tr:selectOneRadio>


   <tr:table id="tb125" var="objMap" rows="0"
             partialTriggers="s201"
             varStatus="status"
             rowBandingInterval="1"
             value="#{fooregist.listData}"
             rendered="#{fooregist.renderTableFoo}">
      <tr:column  id="cfoo" align="center" styleClass="columnFoo">
          <tr:panelGroupLayout id="pgFoo" 
                              layout="horizontal" 
                              styleClass="columnFoo">
             <tr:inputText id="fooIn" 
contentStyle="height:15px;text-align:right;width:118px;ime-mode:disabled;"
                           maximumLength="6"
                           value="#{objMap.fooValue}"
                           autoSubmit="true"
                           disabled="#{fooregist.disableInputFooValue}"
                           onblur="formatToNumber(this,2)"
                       >
                  <tr:convertNumber pattern="##0.00"/>
              </tr:inputText>
          </tr:panelGroupLayout>
      </tr:column>
   </tr:table>