【クライアント】非表示にしたdiv内にSPREADを配置すると、スクリプトエラーが発生する場合がある

文書番号 : 26585     文書種別 : 不具合     最終更新日 : 2008/12/11
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
非表示にしたdiv内にSPREADを配置すると、初期表示時にスクリプトエラーが発生する場合があります。

【手順】
1.新規WebフォームにSPREADとbuttonを以下のように配置します

<input id="Button1" type="button" value="button" onclick="test();" />
<div id="div2" class="searchm" style="width: 100%; display:none">
  <FarPoint:FpSpread ID="FpSpread1" runat="server" BorderColor="Black" BorderStyle="Solid"
    BorderWidth="1px" Height="200" Width="400">
    <CommandBar BackColor="Control" ButtonFaceColor="Control" ButtonHighlightColor="ControlLightLight"
      ButtonShadowColor="ControlDark">
    </CommandBar>
    <Sheets>
      <FarPoint:SheetView SheetName="Sheet1">
      </FarPoint:SheetView>
    </Sheets>
  </FarPoint:FpSpread>
</div>

2.下記サンプルコードをコピーし、アプリケーションを実行します
3.スクリプトエラーが発生します
4.ボタンを押下して、SPREADを表示します
5.列幅の変更を行うことができません

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

    FpSpread1.ActiveSheetView.FrozenColumnCount = 2
    FpSpread1.CommandBar.Visible = False

    FpSpread1.ActiveSheetView.AllowPage = True

    FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Bottom
    FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Number
  End Sub

-------------------------
クライアント側スクリプト
-------------------------
<script type="text/javascript">
  function test()
  {
    var div2 = document.getElementById("div2");
    div2.style.display = "block";
  }
</script>
回避方法
2009/05/27版で修正済み。

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

Panel内にSPREADを配置し、サーバー側で表示、非表示を切り替えます。

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

    FpSpread1.ActiveSheetView.FrozenColumnCount = 2
    FpSpread1.CommandBar.Visible = False

    FpSpread1.ActiveSheetView.AllowPage = True

    FpSpread1.Pager.Position = FarPoint.Web.Spread.PagerPosition.Bottom
    FpSpread1.Pager.Mode = FarPoint.Web.Spread.PagerMode.Number

    Panel1.Visible = False
  End Sub

  Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
    FpSpread1.SaveChanges()
    Panel1.Visible = Not Panel1.Visible
  End Sub
キーワード
SPRN07130

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