【表示】 RenderCSSClassプロパティをFalseにすると列ヘッダや行ヘッダに設定したマージンが無効になる

文書番号 : 38193     文書種別 : 不具合     登録日 : 2015/03/04     最終更新日 : 2015/03/31
文書を印刷する
対象製品
SPREAD for ASP.NET 7.0J
状況
修正済み
詳細
RenderCSSClassプロパティをFalseにすると列ヘッダや行ヘッダに設定したマージンが無効になります。

【再現手順】
1.新規WebフォームにSPREADひとつを配置します
2.Webフォームに下記の再現コードを貼り付け、Web フォームを起動します
--- ヘッダに設定したマージンが有効になりません

【再現コード】
------------------------------------
Webフォームクラス
------------------------------------
Public Class WebForm1
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Page.IsPostBack Then Return

    'インラインスタイル属性として出力
    FpSpread1.RenderCSSClass = False

    ' ヘッダのマージン設定
    FpSpread1.ActiveSheetView.ColumnHeader.Cells(0, 0).Margin = New FarPoint.Web.Spread.Inset(30, 0, 0, 0)
    FpSpread1.ActiveSheetView.RowHeader.Cells(0, 0).Margin = New FarPoint.Web.Spread.Inset(30, 0, 0, 0)
  End Sub
End Class

なお、Internet Explorer 7ではRenderCSSClassの値に関わらず、行列ヘッダでのマージン設定をサポートしておりません。この動作は製品の制限事項となります。
回避方法
Service Pack 3(v7.0.4017.2010)で修正済み。
Service Pack 3(v7.0.4017.2010)より前のバージョンでは次の回避方法が有効です。
------------------------------------------

ヘッダのValueプロパティ(SPREADデザイナ上では該当セルのTextプロパティ)にスタイルを指定したHTMLタグを組み込むことで、問題の現象を回避することができます。

◆サンプルコード
Public Class WebForm1
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Page.IsPostBack Then Return

    ' インラインスタイル属性として出力する場合
    FpSpread1.RenderCSSClass = False

    ' 回避策:HTMLタグを使った列ヘッダのマージン設定
    FpSpread1.ActiveSheetView.ColumnHeader.Cells(0, 0).Value = "<div style=""margin: 0px 0px 0px 20px;"">A</div>"
    FpSpread1.ActiveSheetView.RowHeader.Cells(0, 0).Value = "<div style=""margin: 0px 0px 0px 20px;"">A</div>"
  End Sub

End Class