表形式表示

Q11
FlexViewのカレント行の操作方法
[内容]
FlexViewオブジェクト内で発生したイベントと、他のオブジェクトで発生したイベントから
カレント行を操作するスクリプト記述の比較

A11
[解決方法]
FlexViewオブジェクトまたは、その子オブジェクトで発生したイベントからカレント 行を取得する場合、Eventオブジェクトとしてカレント行のFlexRowオブジェクトが 渡されるため直接操作できます。ButtonのTouchイベントなど外で発生したイベントからは、FlexViewのGetRowメソッドを使用して対象行を特定する必要があります。


[サンプルコード]

・FlexViewの子オブジェクトのイベントからカレント行を取得します。
FlexView FlexView1 {
    X = 100;
    Y = 50;
    Width = 154;
    Height = 157;

    FlexRecord FlexRecord1 {
        Height = 20;

        FlexCheckButton CheckButton1 {
            Title = "1";
            Width = 100;
            Value = "CheckButton";

            Function OnCheckChanged( e ) {
                /* e.rowが操作対象のFlexRowオブジェクト */
                e.row.CheckButton1.Value = "New Value";
                e.row.CheckButton1.BgColor = $YELLOW;
            }
        }
    }
    InsertRow(5);
}


・ButtonオブジェクトのイベントからFlexViewのカレント行を取得します。
Button Button1 {
    X = 130;
    Y = 230;
    Width = 100;
    Height = 50;
    Title = "Change Value";

    Function OnTouch(e) {
        /* GetRowで操作対象のFlexRowオブジェクトを取得 */
        var row = ^.FlexView1.GetRow(^.FlexView1.RowPosition);
        row.CheckButton1.Value = "New Value";
        row.CheckButton1.BgColor = $RED;
    }
}
管理番号:BMP_N008
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser Mobile・Biz/Designer Mobile TIPS集 トップへ