■サイトマップ Search help


Biz/Browserに関する障害レポート


 10566 ButtonClickedイベントで、イベントが発生したセルの列番号、行番号が取れない場合がある 

対象バージョン Biz/Browser V Ver5.0.0.0 〜

障害内容 SSpreadクラスのButtonClickedイベントのe.row、e.colでクリックされたセルの行番号、列番号を取得できる。
しかし、CRSスクリプトでセルのTextプロパティ、Valueプロパティなどを変更してイベントが発生した場合は、イベントが発生したセルの列番号、行番号が取得できない。

[サンプルスクリプト]
  SSpread SSpread1 {
    X = 20;
    Y = 14;
    Width = 244;
    Height = 149;
    
    row = 2;
    col = 2;
    celltype = $CellTypeCheckBox;
    TypeCheckText = "test";
    
    Function OnButtonClicked( e ) {
      MessageBox("セル("+str(e.row)+","+str(e.col)+")でButtonClicked発生");
    }
  }
  
  Button Button1 {
    X = 20;
    Y = 179;
    Width = 244;
    Height = 37;
    Title = "チェック状態の切り替え";
    
    Function OnTouch( e ) {
      if(^.SSpread1.GetText(2,2) == 1){
        ^.SSpread1.SetText(2,2,0);
      }else{
        ^.SSpread1.SetText(2,2,1);
      }
    }
  }

要因 Textプロパティ、Valueプロパティの変更によりイベントが発生した場合は、イベントが発生したセルに関係なくその時のアクティブセルの行番号、列番号が取得されていた。

対処方法 コマンドボタン型、チェックボックス型のセルのTextプロパティ、Valueプロパティへ値を設定する前に、
SetActiveCellメソッドで値を設定するセルへアクティブセルを移動する。

[サンプルスクリプト]
  ^.SSpread1.SetActiveCell(2,2);
  
  if(^.SSpread1.GetText(2,2) == 1){
    ^.SSpread1.SetText(2,2,0);
  }else{
    ^.SSpread1.SetText(2,2,1);
  }


■ 障害レポート一覧へ