引数を設定せずにCallBackメソッドを実行するとエラーが発生する

文書番号 : 41699     文書種別 : 不具合     登録日 : 2018/03/16     最終更新日 : 2018/03/16
文書を印刷する
対象製品
SPREAD for ASP.NET 8.0J
状況
修正済み
詳細
■事象
引数を設定せずにCallBackメソッドを実行すると、以下のエラーが発生します。

----------------------------------------
0x800a138f - JavaScript 実行時エラー: 未定義または NULL 参照のプロパティ 'indexOf' は取得できません
----------------------------------------

■サンプルスクリプト(JavaScript)
FpSpread("FpSpread1").CallBack();


■備考
3.0J以前のバージョンでは、CallBackメソッドに引数を設定せずに実行してもエラーは発生しません。
回避方法
Service Pack 6(v8.0.4010.2010)で修正済みです。

なお、3.0J以前のバージョンでは、CallBackメソッドに引数を設定せずに実行した場合、サーバー側のButtonCommandイベント側ではCommandNameプロパティに空文字("")が設定されました。

◆3.0J以前のサンプルコード(VB.NET)
Private Sub FpSpread1_ButtonCommand(...) Handles FpSpread1.ButtonCommand
  If e.CommandName = "" Then
    FpSpread1.Sheets(0).Cells(0, 0).Text = "My Command Worked"
  End If
End Sub


本修正後、CallBackメソッドに引数を設定せずに実行した場合、CommandNameプロパティには"undefined"という文字列が設定されます。

◆本修正後に有効なサンプルコード(VB.NET)
Private Sub FpSpread1_ButtonCommand(...) Handles FpSpread1.ButtonCommand
  If e.CommandName = "undefined" Then
    FpSpread1.Sheets(0).Cells(0, 0).Text = "My Command Worked"
  End If
End Sub


3.0J以前のプロジェクトを移行し、CallBackメソッドに引数を設定せずに実行したい場合、ButtonCommandイベント側の実装を変更する必要があります。ご注意ください。

※CallBackメソッドを使用する場合、引数は省略せず、適切なコマンド名を設定することを推奨します。