【チェックボックス型セル】RenderCSSClass プロパティの設定により、チェックボックス型セルのレイアウトが異なる
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
RenderCSSClass プロパティの設定により、セル内のチェックボックスの水平位置がずれます。
【手順】
1.新規WebフォームにSPREADのみを配置します。
2.下記サンプルコードをコピーし、アプリケーションを実行します。
--- FpSpread1とFpSpread2でチェックボックスの水平位置が異なります。
※本来はRenderCSSClass プロパティの設定にかかわらず、チェックボックスの水平位置が同じになるべきです。
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
Dim c As New FarPoint.Web.Spread.CheckBoxCellType
FpSpread1.ActiveSheetView.Columns(0).CellType = c
FpSpread2.ActiveSheetView.Columns(0).CellType = c
FpSpread1.RenderCSSClass = False
FpSpread2.RenderCSSClass = True
End Sub
【手順】
1.新規WebフォームにSPREADのみを配置します。
2.下記サンプルコードをコピーし、アプリケーションを実行します。
--- FpSpread1とFpSpread2でチェックボックスの水平位置が異なります。
※本来はRenderCSSClass プロパティの設定にかかわらず、チェックボックスの水平位置が同じになるべきです。
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
Dim c As New FarPoint.Web.Spread.CheckBoxCellType
FpSpread1.ActiveSheetView.Columns(0).CellType = c
FpSpread2.ActiveSheetView.Columns(0).CellType = c
FpSpread1.RenderCSSClass = False
FpSpread2.RenderCSSClass = True
End Sub
回避方法
2009/05/27版で修正済み。
2009/05/27版より前のバージョンでは次の回避方法が有効です。
シートのDefaultStyle.ParentにNothingを設定する方法が考えられます。
ただしこの場合、セルに余白(cell-padding)が出力されません。
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
Dim c As New FarPoint.Web.Spread.CheckBoxCellType
FpSpread1.ActiveSheetView.Columns(0).CellType = c
FpSpread2.ActiveSheetView.Columns(0).CellType = c
FpSpread1.RenderCSSClass = False
FpSpread2.RenderCSSClass = True
FpSpread1.ActiveSheetView.DefaultStyle.Parent = Nothing
FpSpread2.ActiveSheetView.DefaultStyle.Parent = Nothing
End Sub
または、CssClassを使用します。
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
Dim c As New FarPoint.Web.Spread.CheckBoxCellType
c.CssClass = "CssStyle1"
FpSpread1.ActiveSheetView.Columns(0).CellType = c
FpSpread2.ActiveSheetView.Columns(0).CellType = c
FpSpread1.RenderCSSClass = False
FpSpread2.RenderCSSClass = True
End Sub
------------------------------------
HTML
------------------------------------
<style type="text/css">
.CssStyle1 { padding-right: 3px;padding-left: 3px; }
</style>
2009/05/27版より前のバージョンでは次の回避方法が有効です。
シートのDefaultStyle.ParentにNothingを設定する方法が考えられます。
ただしこの場合、セルに余白(cell-padding)が出力されません。
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
Dim c As New FarPoint.Web.Spread.CheckBoxCellType
FpSpread1.ActiveSheetView.Columns(0).CellType = c
FpSpread2.ActiveSheetView.Columns(0).CellType = c
FpSpread1.RenderCSSClass = False
FpSpread2.RenderCSSClass = True
FpSpread1.ActiveSheetView.DefaultStyle.Parent = Nothing
FpSpread2.ActiveSheetView.DefaultStyle.Parent = Nothing
End Sub
または、CssClassを使用します。
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
Dim c As New FarPoint.Web.Spread.CheckBoxCellType
c.CssClass = "CssStyle1"
FpSpread1.ActiveSheetView.Columns(0).CellType = c
FpSpread2.ActiveSheetView.Columns(0).CellType = c
FpSpread1.RenderCSSClass = False
FpSpread2.RenderCSSClass = True
End Sub
------------------------------------
HTML
------------------------------------
<style type="text/css">
.CssStyle1 { padding-right: 3px;padding-left: 3px; }
</style>
キーワード
SPRN07298
この文書は、以前は次のバグレポートIDで公開されていました : 7968