作成日: 2017/03/14 最終更新日: 2017/03/14
文書種別
技術情報
詳細
SPREADのグリッド線はTABLEタグの属性、罫線はTDタグの属性によって、各々HTMLへ描画されています。製品ではコーディングに基づき各タグが出力されますが、ブラウザの種類やバージョンにより重なり合う罫線が意図したように表示されないことがあります。これはSPREADに限らず、HTMLのTableに罫線を設定した場合も同様の動作となります。
製品ではブラウザに依存する描画の違いを吸収するような機能がありません。そのため、罫線を意図したように表示させる場合は、下記のような対応方法が考えられます。
◆SPREADの罫線設定方法を変更する
グリッド線と罫線を併用せずに、グリッド線を非表示にしてセル単位に罫線を設定します。その際、重なり合う罫線を同一色に設定する必要があります。なお、罫線の設定は色・サイズ・スタイルの全てを明示的に設定する必要があります。
◎サンプルコード
このサンプルコードは1行目の下罫線を赤にする例です。
製品ではブラウザに依存する描画の違いを吸収するような機能がありません。そのため、罫線を意図したように表示させる場合は、下記のような対応方法が考えられます。
◆SPREADの罫線設定方法を変更する
グリッド線と罫線を併用せずに、グリッド線を非表示にしてセル単位に罫線を設定します。その際、重なり合う罫線を同一色に設定する必要があります。なお、罫線の設定は色・サイズ・スタイルの全てを明示的に設定する必要があります。
◎サンプルコード
このサンプルコードは1行目の下罫線を赤にする例です。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Return
End If
With FpSpread1.ActiveSheetView
' グリッド線非表示
.GridLines = GridLines.None
' 独自の罫線
For index1 As Integer = 0 To FpSpread1.ActiveSheetView.RowCount - 1
For index As Integer = 0 To FpSpread1.ActiveSheetView.ColumnCount - 1
With .Cells(index1, index).Border
If index1 = 0 Then
.BorderColorTop = Drawing.Color.Gray
.BorderColorBottom = Drawing.Color.Red '隣り合う罫線は同一色にする
.BorderColorRight = Drawing.Color.Gray
.BorderColorLeft = Drawing.Color.Gray
ElseIf index1 = 1 Then
.BorderColorTop = Drawing.Color.Red '隣り合う罫線は同一色にする
.BorderColorBottom = Drawing.Color.Gray
.BorderColorRight = Drawing.Color.Gray
.BorderColorLeft = Drawing.Color.Gray
Else
.BorderColorTop = Drawing.Color.Gray
.BorderColorBottom = Drawing.Color.Gray
.BorderColorRight = Drawing.Color.Gray
.BorderColorLeft = Drawing.Color.Gray
End If
.BorderSizeTop = 1
.BorderSizeBottom = 1
.BorderSizeRight = 1
.BorderSizeLeft = 1
.BorderStyleTop = BorderStyle.Solid
.BorderStyleBottom = BorderStyle.Solid
.BorderStyleRight = BorderStyle.Solid
.BorderStyleLeft = BorderStyle.Solid
End With
Next
Next
End With
End Sub
If IsPostBack Then
Return
End If
With FpSpread1.ActiveSheetView
' グリッド線非表示
.GridLines = GridLines.None
' 独自の罫線
For index1 As Integer = 0 To FpSpread1.ActiveSheetView.RowCount - 1
For index As Integer = 0 To FpSpread1.ActiveSheetView.ColumnCount - 1
With .Cells(index1, index).Border
If index1 = 0 Then
.BorderColorTop = Drawing.Color.Gray
.BorderColorBottom = Drawing.Color.Red '隣り合う罫線は同一色にする
.BorderColorRight = Drawing.Color.Gray
.BorderColorLeft = Drawing.Color.Gray
ElseIf index1 = 1 Then
.BorderColorTop = Drawing.Color.Red '隣り合う罫線は同一色にする
.BorderColorBottom = Drawing.Color.Gray
.BorderColorRight = Drawing.Color.Gray
.BorderColorLeft = Drawing.Color.Gray
Else
.BorderColorTop = Drawing.Color.Gray
.BorderColorBottom = Drawing.Color.Gray
.BorderColorRight = Drawing.Color.Gray
.BorderColorLeft = Drawing.Color.Gray
End If
.BorderSizeTop = 1
.BorderSizeBottom = 1
.BorderSizeRight = 1
.BorderSizeLeft = 1
.BorderStyleTop = BorderStyle.Solid
.BorderStyleBottom = BorderStyle.Solid
.BorderStyleRight = BorderStyle.Solid
.BorderStyleLeft = BorderStyle.Solid
End With
Next
Next
End With
End Sub
旧文書番号
40138