2017-03-23 8 views
0

私は今フォームを作成しています。一行で私はイエスかノーだけで答える必要があります。コードは今、この入力フィールドのようなラジオボタンのodataの値を設定する方法

<Label text="Billable" 
 
\t labelFor="flag"/> 
 
<Input value="{appointments>flag}" 
 
\t id="flag" 
 
\t placeholder="set a flag in true or false"/>

と私はyesまたはnoでラジオボタンを必要とするように見えます。私はラジオボタンを書き込もうとしているが、それは

<Label text="Billable" /> 
 
<VBox binding="{appointments>flag}"> 
 
\t <RadioButton text="true"/> 
 
\t <RadioButton text="false"/> 
 
</VBox>

のRadioButtonが許可されていない値プロパティを動作しません。上記のように、inputfieldのようなODatamodelのradioButtonから{appointments> flag}に値を設定するにはどうすればよいですか?

+0

あなたの質問が私にはっきりと分かりません。あなたが「うまくいかない」と言ったら、どういう意味ですか? RadioButton selectioをモデルにバインドする場合、プロパティーバインディングは提供されたフラグはブール値です。ブール値でない場合は、フォーマッタ関数を使用してブール値を返します。 – Sid

答えて

0

RadioButtonGroupはモデルからラジオボタンを設定する場合は、selectedIndexプロパティを使用することができます。あなたのケースでは

<RadioButtonGroup columns="3" width="500px" selectedIndex="{appointments>flag}"> 
     <buttons> 
      <RadioButton text="true"/> 
      <RadioButton text="false"/> 
     </buttons> 
</RadioButtonGroup> 

、selectedIndexのは、あなたがモデルと制御データバインディングを使用してみてください0または1、0真であり、かつ1偽であること

+0

こんにちは、ありがとう、その仕事、今私はコントローラを書く必要があります値0の場合は、値1の場合は、いいえ。 – user3753271

+0

と他の質問。私はフラグを設定したい、0の場合はフラグの値がはい、1の場合はフラグの値がNoです。\tどうすればいいですか? – user3753271

+0

双方向バインディングを使用すると、モデルに自動的に設定されます –

0

のいずれかでなければなりません。

<RadioButtonGroup columns="3" width="500px" selectedIndex="{/flag}" buttons="{/buttons}" select="radioSelectionHandler"> 
      <buttons> 
       <RadioButton text="{label}"/> 
      </buttons> 
     </RadioButtonGroup> 

あなたのコントローラは、私はあなたが表示テキストを使用するのではなく、コントローラに他のチェック場合における使用のキープロパティを追加しました。この

onInit: function() { 
    var radioButtons = { 
     "buttons":[ 
         { 
          "key" : "true", 
          "label" : "True" 
         }, 
         { 
          "key" : "false", 
          "label" : "False" 
         } 
        ] , 

    }  

    this.getView().setModel(new sap.ui.model.json.JSONModel(radioButtons)); 
}, 

radioSelectionHandler : function(event){ 
    var flag = this.getView().getModel().oData.flag; 
    sap.m.MessageToast.show(this.getView().getModel().oData.buttons[flag].key); 
} 

ようなものになることができます。 これが役立つことを願っています!

関連する問題