【操作】クライアント側で列幅を小さくするとSPREADコントロールの高さも変更される場合がある
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
クライアント側で列幅を小さくすると、SPREADコントロールの高さも小さくなる場合があります。
この現象はDOCTYPE の設定が互換モードの場合に発生します。
●互換モード:VS2003までのデフォルト設定
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
【再現手順】
1.新規WebフォームにSPREADを配置します
2.下記のサンプルコードをコピーします
3.1列目の列幅を小さくします
4.SPREADコントロールの高さが小さくなります
【サンプルコード】
-------------------------
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.ActiveSheetView.RowCount = 4
FpSpread1.ActiveSheetView.ColumnHeader.RowCount = 2
FpSpread1.ActiveSheetView.ColumnHeader.Cells(0, 0).Value = "テストテストテストテストテストテスト"
FpSpread1.ActiveSheetView.ColumnHeader.Cells(0, 0).RowSpan = 2
FpSpread1.ActiveSheetView.ColumnHeader.Rows.Default.Height = 30
FpSpread1.ActiveSheetView.Columns(0).Width = 80
End Sub
この現象はDOCTYPE の設定が互換モードの場合に発生します。
●互換モード:VS2003までのデフォルト設定
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
【再現手順】
1.新規WebフォームにSPREADを配置します
2.下記のサンプルコードをコピーします
3.1列目の列幅を小さくします
4.SPREADコントロールの高さが小さくなります
【サンプルコード】
-------------------------
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.ActiveSheetView.RowCount = 4
FpSpread1.ActiveSheetView.ColumnHeader.RowCount = 2
FpSpread1.ActiveSheetView.ColumnHeader.Cells(0, 0).Value = "テストテストテストテストテストテスト"
FpSpread1.ActiveSheetView.ColumnHeader.Cells(0, 0).RowSpan = 2
FpSpread1.ActiveSheetView.ColumnHeader.Rows.Default.Height = 30
FpSpread1.ActiveSheetView.Columns(0).Width = 80
End Sub
回避方法
2007/09/05版で修正済み。
2007/09/05版より前のバージョンでは次の回避方法が有効です。
セルの折り返しを禁止し改行を許可します。その上でヘッダテキストの改行位置を指定することで列ヘッダの高さが自動的に変更されることは回避できます。
FpSpread1.ActiveSheetView.ColumnHeader.Cells(0, 0).Value = "<div style=""white-space:nowrap;"">テストテスト<br>テストテスト<br>テストテスト</div>"
2007/09/05版より前のバージョンでは次の回避方法が有効です。
セルの折り返しを禁止し改行を許可します。その上でヘッダテキストの改行位置を指定することで列ヘッダの高さが自動的に変更されることは回避できます。
FpSpread1.ActiveSheetView.ColumnHeader.Cells(0, 0).Value = "<div style=""white-space:nowrap;"">テストテスト<br>テストテスト<br>テストテスト</div>"
キーワード
SPRN06280
この文書は、以前は次のバグレポートIDで公開されていました : 7073