【セル型】 ボタン型セルの利用時、セルや列のMarginプロパティの設定が有効にならない
対象製品
SPREAD for ASP.NET 7.0J
状況
修正済み
詳細
ボタン型セルの利用時、セルや列のMarginプロパティの設定が有効になりません。この現象はButtonTypeがLinkButtonタイプおよびImageButtonタイプの時に発生します。なお、ButtonTypeがPushButtonの場合にMarginが有効にならないのは仕様に基づく動作です。
【再現手順】
1.新規WebフォームにSPREADひとつを配置します
2.下記の再現コードを貼り付け、Web フォームを起動します
--- コードで設定したMarginが有効になりません
【再現コード】
------------------------------------
Webフォームクラス
------------------------------------
Public Class WebForm1
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Page.IsPostBack Then
Return
End If
FpSpread1.DocumentMode = FarPoint.Web.Spread.DocumentMode.IE7
Dim lb As New FarPoint.Web.Spread.ButtonCellType()
lb.CommandName = "OneCommand"
lb.ButtonType = FarPoint.Web.Spread.ButtonType.LinkButton
lb.Text = "abc"
FpSpread1.ActiveSheetView.Columns(0).CellType = lb
FpSpread1.ActiveSheetView.Columns(0).Margin = New FarPoint.Web.Spread.Inset(10, 0, 10, 0)
End Sub
End Class
------------------------------------
webform1.aspxファイル
------------------------------------
<head>タグ内に以下のメタ情報を記述してください。
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
【再現手順】
1.新規WebフォームにSPREADひとつを配置します
2.下記の再現コードを貼り付け、Web フォームを起動します
--- コードで設定したMarginが有効になりません
【再現コード】
------------------------------------
Webフォームクラス
------------------------------------
Public Class WebForm1
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Page.IsPostBack Then
Return
End If
FpSpread1.DocumentMode = FarPoint.Web.Spread.DocumentMode.IE7
Dim lb As New FarPoint.Web.Spread.ButtonCellType()
lb.CommandName = "OneCommand"
lb.ButtonType = FarPoint.Web.Spread.ButtonType.LinkButton
lb.Text = "abc"
FpSpread1.ActiveSheetView.Columns(0).CellType = lb
FpSpread1.ActiveSheetView.Columns(0).Margin = New FarPoint.Web.Spread.Inset(10, 0, 10, 0)
End Sub
End Class
------------------------------------
webform1.aspxファイル
------------------------------------
<head>タグ内に以下のメタ情報を記述してください。
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
回避方法
Service Pack 3(v7.0.4017.2010)で修正済み。
Service Pack 3(v7.0.4017.2010)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
cssシートからマージンを設定することで、現象への対応が可能です。
------------------------------------
Webフォームクラス
------------------------------------
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.DocumentMode = FarPoint.Web.Spread.DocumentMode.IE7
Dim lb As New FarPoint.Web.Spread.ButtonCellType()
lb.CommandName = "OneCommand"
lb.ButtonType = FarPoint.Web.Spread.ButtonType.LinkButton
lb.Text = "abc"
lb.CssClass = "test2" ' 【回避策】スタイルシートで余白を指定します
FpSpread1.ActiveSheetView.Columns(0).CellType = lb
'FpSpread1.ActiveSheetView.Columns(0).Margin = New FarPoint.Web.Spread.Inset(10, 0, 10, 0)
End Sub
------------------------------------
クライアント側スクリプト
------------------------------------
<style type="text/css">
.test2
{
padding: 0px 10px 0px 10px !important;
}
</style>
Service Pack 3(v7.0.4017.2010)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
cssシートからマージンを設定することで、現象への対応が可能です。
------------------------------------
Webフォームクラス
------------------------------------
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Page.IsPostBack Then
Return
End If
FpSpread1.DocumentMode = FarPoint.Web.Spread.DocumentMode.IE7
Dim lb As New FarPoint.Web.Spread.ButtonCellType()
lb.CommandName = "OneCommand"
lb.ButtonType = FarPoint.Web.Spread.ButtonType.LinkButton
lb.Text = "abc"
lb.CssClass = "test2" ' 【回避策】スタイルシートで余白を指定します
FpSpread1.ActiveSheetView.Columns(0).CellType = lb
'FpSpread1.ActiveSheetView.Columns(0).Margin = New FarPoint.Web.Spread.Inset(10, 0, 10, 0)
End Sub
------------------------------------
クライアント側スクリプト
------------------------------------
<style type="text/css">
.test2
{
padding: 0px 10px 0px 10px !important;
}
</style>