【チェックボックス型セル】RenderCSSClass プロパティの設定により、チェックボックス型セルのレイアウトが異なる

文書番号 : 26976     文書種別 : 不具合     最終更新日 : 2009/05/09
文書を印刷する
対象製品
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
回避方法
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>
キーワード
SPRN07298

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