Spread

Q

22

Spreadでチェックボックスを使用したい

A 22
[解決方法]
マウスクリックでセルの「レ」表示/非表示を切り替えることでチェックボックスに似た
動作を実現できます。
SpreadColumnオブジェクトのClickedイベントでは、マウスクリックされたセルの位置を
特定できますので、これを利用して表示を切り替えます。


表形式表示クラスにはFlexViewクラスがありますが、FlexViewクラスをご利用いた
だく場合は、FlexCheckButtonクラスの使用で表内にチェックボックスを配置する
ことが可能です。

詳細は、以下のTIPSをご参照ください。

   FlexCheckButton、FlexButtonオブジェクトのイベント発生時に値を取得、設定したい


[サンプルコード]


Spread Spread1 {

    <省略>

    /*チェックを切り替えます*/
    Function OnClicked( e ) {
        var col1_data, col2_data, col3_data;
        
        /*左端の列をクリックされた場合の処理*/
        if( e.col == 0 ){
            col1_data = Spread1.GetCell( e.row, 1 );
            col2_data = Spread1.GetCell( e.row, 2 );
            col3_data = Spread1.GetCell( e.row, 3 );

            if( col1_data == "" || col2_data == "" || col3_data == "" ) {
                //.MessageBox(
                "未入力の項目があります。承認済に設定することはできません。" );
                return;
            }

            /* e.row、e.colでクリックされたセルの位置を特定 */
            var gc = Spread1.GetCell( e.row, e.col );

            if( gc == "レ" ){
                /*左端のセルのレを外す*/
                ^.SetCell( e.row, e.col, "" );
                Form1.fnc_SetListLineColor( 1, e.row );
                
            } else if( gc == "" ) {
                /*左端のセルにレをつける*/
                ^.SetCell( e.row, e.col, "レ" );
                Form1.fnc_SetListLineColor( 0, e.row );
            }
        }
    }
}
CRSファイル形式のサンプルを
  「Spreadでチェックボックスのような選択セルを表示するサンプル (Spd_022.zip)
よりご利用いただけます。

管理番号:Spd_022
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser・Biz/Designer TIPS集 トップへ