【Ajax】【VS2005】AutoPostBack プロパティをTrueに設定した場合、UpdatePanel内に配置したSPREADのセルをクリックするとページ全体が更新される

文書番号 : 26941     文書種別 : 不具合     最終更新日 : 2009/04/23
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
この現象は、Visual Studio 2005を使用した開発環境で発生します
状況
修正済み
詳細
シートのAutoPostBack プロパティをTrueに設定した場合、UpdatePanel内に配置したSPREADのセルをクリックするたびに、ページ全体が更新されます。

【手順】
1.新規WebフォームにUpdatePanelを配置し、UpdatePanel内にSPREADのを配置します。
2.下記サンプルコードをコピーし、アプリケーションを実行します。
3.SPREADのセルをクリックします。
   --- ページ全体が更新されます。
   ※本来は部分更新されるべきです。

【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    FpSpread1.ActiveSheetView.AutoPostBack = True
  End Sub
回避方法
2009/05/27版で修正済み。

2009/05/27版より前のバージョンでは次の回避方法が有効です。

ScriptManagerのRegisterAsyncPostBackControl メソッドを使用してSPREADをScriptManagerに非同期ポストバックコントロールに登録し、UpdatePanelのUpdate メソッドにて更新します。

【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ScriptManager1.RegisterAsyncPostBackControl(FpSpread1)
    UpdatePanel1.UpdateMode = UpdatePanelUpdateMode.Conditional
    FpSpread1.RenderCSSClass = False
    FpSpread1.ActiveSheetView.AutoPostBack = True
  End Sub

  Protected Sub FpSpread1_CellClick(ByVal sender As Object, ByVal e As FarPoint.Web.Spread.SpreadCommandEventArgs) Handles FpSpread1.CellClick
    Dim p As System.Drawing.Point = CType(e.CommandArgument, System.Drawing.Point)
    FpSpread1.ActiveSheetView.Cells(1, 1).Value = "Cell(" + p.X.ToString + "," + p.Y.ToString + ")"
    UpdatePanel1.Update()
  End Sub
キーワード
SPRN07312

この文書は、以前は次のバグレポートIDで公開されていました : 7944