【VS2005】DOCTYPE をXHTML 1.0 Transitionalに設定するとコマンドボタン型セルでVerticalAlignプロパティをTop以外に設定できない

文書番号 : 23580     文書種別 : 不具合     最終更新日 : 2007/03/03
文書を印刷する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
動作保証環境と同様
状況
修正済み
詳細
この現象はVS2005でDOCTYPE をXHTML 1.0 Transitionalに設定すると発生します。
VS.NET 2002/2003ではボタンがセルと同じサイズに設定されるため、セル内におけるボタンの配置を設定することができません。そのためこの現象とは無縁です。

[再現手順]
1.新規WebフォームにSPREADを配置します。
2.下記のコードをコピーして実行します。
  --- 1行目でVerticalAlignをMiddleに設定しているがボタンはTopに表示される

[再現コード]
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If IsPostBack Then Return

    With FpSpread1.Sheets(0)
      .Columns(0).CellType = New FarPoint.Web.Spread.ButtonCellType

      .Cells(0, 1).Value = "長い文章を折り返して表示します。"
      .Cells(0, 2).Value = "単語"

      .Rows(0).VerticalAlign = VerticalAlign.Middle
    End With
  End Sub
回避方法
2007/09/05版で修正済み。

2007/09/05版より前のバージョンでは次の回避方法が有効です。

RenderメソッドをオーバーライドしてセルのVerticalAlignプロパティを設定すると回避できます。

  Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

    Dim con As Control = FpSpread1.FindControl("0,0") 'セル(0,0)に表示されるボタン
    Dim td As TableCell = CType(con.Parent, TableCell) 'セル(0,0)
    td.VerticalAlign = VerticalAlign.Middle 'VerticalAlignを設定する
    MyBase.Render(writer)

  End Sub
キーワード
SPRN05998

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