【表示】行を非表示に設定すると列ヘッダの結合の設定が無効になる場合がある

文書番号 : 22306     文書種別 : 不具合     最終更新日 : 2006/07/29
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様。
状況
修正済み
詳細
行を非表示に設定した場合、列ヘッダの結合の設定が無効となることがあります。

下記、再現手順とサンプルコードです。

[再現手順]
1.新規WebフォームにSPREADだけを配置します。
2.下記のサンプルコードをコピーします。
3.アプリケーションを実行します。
4.列ヘッダの結合がされません。

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

    FpSpread1.Sheets(0).ColumnHeaderSpanModel.Add(0, 0, 1, 2)
    FpSpread1.Rows(0, 1).Visible = False
  End Sub
回避方法
2006/10/15版で修正済み。
それ以前のバージョンでは、次の回避策が有効です。

Render イベント内で列ヘッダの結合を設定してください。

-------------------------
Webフォームクラス
-------------------------
  Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
    If Not FpSpread1.Rows(0).Visible Then
      If TypeOf (FpSpread1.FindControl("colHeader").Controls(0)) Is Table Then
        '1行1列目のヘッダを2列分連結する
        Dim table As Table = FpSpread1.FindControl("colHeader").Controls(0)
        table.Rows(0).Cells(0).ColumnSpan = 2
        Dim cell As TableCell = table.Rows(0).Cells(1)
        'table.Controls.Remove(cell)
        table.Rows(0).Cells(1).Visible = False
      End If
    End If
    MyBase.Render(writer)
  End Sub
キーワード
SPRN05685

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