NOTE!

Q 21
親子関係のあるオブジェクトでの選択位置参照の注意点(FlexView)

A 21
FlexViewオブジェクトおよびFlexViewオブジェクトの子オブジェクトとして生成したFlexButtonやFlexCheckButtonオブジェクトなどで発生したイベントのイベントハンドラ内で、イベントの発生したセルを特定する場合、FlexViewオブジェクトのRowPosition、ColumnPositionプロパティを参照せず、イベントハンドラの引数として渡されるEventオブジェクトのrowプロパティおよびcolプロパティを参照してください。
(Eventオブジェクトのプロパティはイベント毎に異なります。詳細につきましては、各オブジェクトのオンラインヘルプの内容をご参照ください。)

セルカーソルは、FlexViewのRowPositionプロパティとColumnPositionプロパティで参照することができますが、イベントはイベントキューを経由するため、イベントハンドラで捕らえたイベントに付属するFlexRowオブジェクトや列番号は、その時点でセルカーソルが置かれている位置とは異なる位置をポイントしていることがあります。
従って、イベントが発生した位置のデータを操作するためには、イベントハンドラの引数として渡されるEventオブジェクトのrowプロパティ、colプロパティによりセルを特定するようにしてください。



[サンプルコード]

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);
}
管理番号:Pnt_025
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ