作成日: 2017/05/25 最終更新日: 2017/12/22
文書種別
不具合
状況
修正済み
詳細
この現象は、GcComboBox型セルのドロップダウンリストを初めて開いたときに発生します。
一度ドロップダウンリストを開き、セルの編集状態を終了すると次回から正しい幅で表示されます。
【実行手順】
1. SPREADを配置します
2. 以下のサンプルコードをコピーして実行します
3. A1セルのドロップダウンリストを開きます
- 幅がわずかに小さく、リスト項目のテキストの末尾が表示されません
4. A2セルのドロップダウンリストを開きます
- 正しい幅で表示され、リスト項目のテキストが末尾まで表示されます
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dl As New DataTable("List")
dl.Columns.Add("コード", GetType(Int32))
dl.Columns.Add("名前", GetType(String))
dl.Rows.Add(1000, "0123456789123")
dl.Rows.Add(2000, "0123456789123")
dl.Rows.Add(3000, "0123456789123")
dl.AcceptChanges()
Dim gcComboCell As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcComboCell.ListDefaultColumn.AutoWidth = True
gcComboCell.DropDown.AutoWidth = True
gcComboCell.DataSource = dl
FpSpread1.ActiveSheet.Columns(0).CellType = gcComboCell
End Sub
一度ドロップダウンリストを開き、セルの編集状態を終了すると次回から正しい幅で表示されます。
【実行手順】
1. SPREADを配置します
2. 以下のサンプルコードをコピーして実行します
3. A1セルのドロップダウンリストを開きます
- 幅がわずかに小さく、リスト項目のテキストの末尾が表示されません
4. A2セルのドロップダウンリストを開きます
- 正しい幅で表示され、リスト項目のテキストが末尾まで表示されます
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dl As New DataTable("List")
dl.Columns.Add("コード", GetType(Int32))
dl.Columns.Add("名前", GetType(String))
dl.Rows.Add(1000, "0123456789123")
dl.Rows.Add(2000, "0123456789123")
dl.Rows.Add(3000, "0123456789123")
dl.AcceptChanges()
Dim gcComboCell As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcComboCell.ListDefaultColumn.AutoWidth = True
gcComboCell.DropDown.AutoWidth = True
gcComboCell.DataSource = dl
FpSpread1.ActiveSheet.Columns(0).CellType = gcComboCell
End Sub
回避方法
Service Pack 2(v10.0.4006.2012)で修正済み。
Service Pack 2より前のバージョンでは次の回避方法が有効です。
------------------------------------------
シートの表示倍率(ZoomFactorプロパティ)を1以外の値に設定します。
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dl As New DataTable("List")
dl.Columns.Add("コード", GetType(Int32))
dl.Columns.Add("名前", GetType(String))
dl.Rows.Add(1000, "0123456789123")
dl.Rows.Add(2000, "0123456789123")
dl.Rows.Add(3000, "0123456789123")
dl.AcceptChanges()
Dim gcComboCell As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcComboCell.ListDefaultColumn.AutoWidth = True
gcComboCell.DropDown.AutoWidth = True
gcComboCell.DataSource = dl
FpSpread1.ActiveSheet.Columns(0).CellType = gcComboCell
'回避方法:ZoomFactorを1以外に設定
FpSpread1.ActiveSheet.ZoomFactor = 1.000001F
End Sub
Service Pack 2より前のバージョンでは次の回避方法が有効です。
------------------------------------------
シートの表示倍率(ZoomFactorプロパティ)を1以外の値に設定します。
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dl As New DataTable("List")
dl.Columns.Add("コード", GetType(Int32))
dl.Columns.Add("名前", GetType(String))
dl.Rows.Add(1000, "0123456789123")
dl.Rows.Add(2000, "0123456789123")
dl.Rows.Add(3000, "0123456789123")
dl.AcceptChanges()
Dim gcComboCell As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcComboCell.ListDefaultColumn.AutoWidth = True
gcComboCell.DropDown.AutoWidth = True
gcComboCell.DataSource = dl
FpSpread1.ActiveSheet.Columns(0).CellType = gcComboCell
'回避方法:ZoomFactorを1以外に設定
FpSpread1.ActiveSheet.ZoomFactor = 1.000001F
End Sub
旧文書番号
40375