作成日: 2018/10/26 最終更新日: 2018/12/18
文書種別
不具合
状況
修正済み
詳細
カスタムスキンを既定値から変更したSPREADにマルチカラムコンボボックス型セルを設定し、実行時に展開すると、Formに適用したフォントがシート上で無効になります。
【再現手順】
1. 新規作成したプロジェクトのフォーム上にSPREADコントロールを貼り付けます。
2. カスタムスキンを既定値から変更します(ColumnHeaderDefaultStyleをColumnHeaderEnhancedに設定するなど)。
3. フォームのフォントを変更します(Sizeを20に設定するなど)。
4. 下記サンプルコードを貼り付けます。
5. プロジェクトを実行し、マルチカラムコンボボックスを展開します。
■サンプルコード(VB.NET)
【再現手順】
1. 新規作成したプロジェクトのフォーム上にSPREADコントロールを貼り付けます。
2. カスタムスキンを既定値から変更します(ColumnHeaderDefaultStyleをColumnHeaderEnhancedに設定するなど)。
3. フォームのフォントを変更します(Sizeを20に設定するなど)。
4. 下記サンプルコードを貼り付けます。
5. プロジェクトを実行し、マルチカラムコンボボックスを展開します。
■サンプルコード(VB.NET)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt As New DataTable("Test")
dt.Columns.Add("ColA", GetType(String))
dt.Columns.Add("ColB", GetType(String))
For i As Integer = 0 To 4
dt.Rows.Add(String.Format("A{0}", i), String.Format("B{0}", i))
Next
dt.AcceptChanges()
' マルチカラムコンボボックスの設定
Dim mcb As New FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType
mcb.DataSourceList = dt
mcb.ListWidth = 215
FpSpread1.ActiveSheet.Columns(3).CellType = mcb
' 確認用データの設定
For i = 0 To 2
FpSpread1.ActiveSheet.Cells(i, 0).Value = "あああ"
FpSpread1.ActiveSheet.Cells(i, 1).Value = "いいい"
FpSpread1.ActiveSheet.Cells(i, 2).Value = "ううう"
Next
End Sub
' データの作成
Dim dt As New DataTable("Test")
dt.Columns.Add("ColA", GetType(String))
dt.Columns.Add("ColB", GetType(String))
For i As Integer = 0 To 4
dt.Rows.Add(String.Format("A{0}", i), String.Format("B{0}", i))
Next
dt.AcceptChanges()
' マルチカラムコンボボックスの設定
Dim mcb As New FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType
mcb.DataSourceList = dt
mcb.ListWidth = 215
FpSpread1.ActiveSheet.Columns(3).CellType = mcb
' 確認用データの設定
For i = 0 To 2
FpSpread1.ActiveSheet.Cells(i, 0).Value = "あああ"
FpSpread1.ActiveSheet.Cells(i, 1).Value = "いいい"
FpSpread1.ActiveSheet.Cells(i, 2).Value = "ううう"
Next
End Sub
回避方法
Service Pack 2(v11.0.4503.2012)で修正済み。
Service Pack 2を適用せずに対処する場合、SPREADに設定されているスタイル情報をコピーし親要素に適用することで現象を回避可能です。
Service Pack 2を適用せずに対処する場合、SPREADに設定されているスタイル情報をコピーし親要素に適用することで現象を回避可能です。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
・・・
' 回避方法
Dim defaultSheetStyle As New FarPoint.Win.Spread.NamedStyle("defaultSheetStyle", Nothing, FpSpread1.Skin.DefaultStyle)
FpSpread1.NamedStyles.Add(defaultSheetStyle)
FpSpread1.ActiveSheet.DefaultStyle.Parent = defaultSheetStyle.Name
End Sub
・・・
' 回避方法
Dim defaultSheetStyle As New FarPoint.Win.Spread.NamedStyle("defaultSheetStyle", Nothing, FpSpread1.Skin.DefaultStyle)
FpSpread1.NamedStyles.Add(defaultSheetStyle)
FpSpread1.ActiveSheet.DefaultStyle.Parent = defaultSheetStyle.Name
End Sub
旧文書番号
83335