[RadPHP XE] QRadioButtonを使う

RadPHP XEでQRadioButtonの使い方です。

※RPCLはRevision 291を使用しました。
 参考:RPCL(RadPHP Component Library) の最新版について

QRadioButtonは複数の選択肢から一つを選択する時に使用します。

選択項目を自由に配置できる点がQRadioGroupと異なります。

■グループ化

QRadioButtonには、グループ化のためのプロパティは提供されていないようです。

また、QGruopBox上に配置してもグループ化されません。
それぞれのラジオボタンがチェックされた状態になってしまいます。

そこでqx.ui.form.RadioGroupを使って、グループ化するコードを記述します。

//フォームのJavaScriptのOnLoadイベント
function Unit1JSLoad($sender, $params)
{
    ?>
    //begin js
    //ラジオボタンをグループ化する
    new qx.ui.form.RadioGroup(QRadioButton1, QRadioButton2, QRadioButton3);
    //end
    <?php
}

■選択された項目の設定

Checkedプロパティを設定することで、最初に選択されている項目を指定できます。

function Unit1Show($sender, $params)
{
  $this->QRadioButton3->writeChecked(true);
}

■選択された項目を取得する

QRadioButtonは、Checkedプロパティの値がチェックされた時には文字列’true’または’1’に、チェックされない場合は’false’または’1’になるようです。

そこでチェックされた時にtrueを返す関数を用意します。

//QRadioButtonのCheckedプロパティの値を判定して、
//チェックされた時はtrueを返す関数
function isChecked($value)
{
  return strcmp($value, '1') == 0 || strcmp($value, 'true') == 0;
}

ボタンが押されたら、チェックされたラジオボタンの名前を表示するコード。

function QButton1Click($sender, $params)
{
  if (isChecked($this->QRadioButton1->Checked)) echo 'QRadioButton1';
  if (isChecked($this->QRadioButton2->Checked)) echo 'QRadioButton2';
  if (isChecked($this->QRadioButton3->Checked)) echo 'QRadioButton3';
}

コメント

  1. Pingback: RadPHP XE2に期待するのは、何よりもバグ修正 « 山本隆の開発日誌

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください