【クライアント】セルを結合すると、クライアントで編集したセルの位置がずれる場合がある

文書番号 : 25713     文書種別 : 不具合     最終更新日 : 2008/05/20
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
セルを結合すると、クライアントで編集したセルの位置がポストバック後にずれる、クライアントスクリプトでアクティブセルのインデックスが正しく取得できないなどの現象が発生する場合があります。

【手順】
1.新規WebフォームにSPREADとTextBoxを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.G3セルをクリックするとテキストボックスに「Cell(2,5)」と表示されます(正しくは「Cell(2,6)」)
4.G3セルに「a」と入力し、コマンドバーの更新ボタンを押下します
5.G3セルが未入力の状態となり、F3セルに「a」が設定されます

【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  If Page.IsPostBack Then
    Return
  End If

  FpSpread1.ActiveSheetView.RowCount = 3
  FpSpread1.ActiveSheetView.ColumnCount = 7

  FpSpread1.ActiveSheetView.Cells(1, 0).ColumnSpan = 3
  FpSpread1.ActiveSheetView.Cells(1, 0).RowSpan = 2

  FpSpread1.ActiveSheetView.Cells(1, 3).ColumnSpan = 2
  FpSpread1.ActiveSheetView.Cells(2, 3).ColumnSpan = 2
End Sub

-------------------------
クライアントスクリプト
-------------------------
<script type="text/javascript">
  function window.onload()
  {
    var spread = document.getElementById("FpSpread1");
    spread.onActiveCellChanged = ac;
  }
  function ac()
  {
    var spread = document.getElementById("FpSpread1");
    var tx1 = document.getElementById("TextBox1");
    tx1.value = "Cell(" + spread.ActiveRow + "," + spread.ActiveCol + ")";
  }
</script>
回避方法
2008/08/27版で修正済み。
キーワード
SPRN06776

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