作成日: 2017/03/07 最終更新日: 2017/03/07
文書種別
制限事項
詳細
同一列に異なるGcComboBox型セルを配置した場合、ドロップダウンリストの幅が列幅に調整されない場合があります。
【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.B1およびB2セルのドロップダウンリストを表示します
4.B列の列幅を200pxくらいに広げます
5.B1およびB2セルのドロップダウンリストを表示します
--B2セルのドロップダウンリストの幅が列幅に調整されません
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' B1セルにGcComboBox型セルを設定
Dim gccb1 As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gccb1.Items.AddRange({"123", "456", "789"})
FpSpread1.ActiveSheet.Cells(0, 1).CellType = gccb1
' B2セルにGcComboBox型セルを設定
Dim gccb2 As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gccb2.Items.AddRange({"abc", "def"})
FpSpread1.ActiveSheet.Cells(1, 1).CellType = gccb2
End Sub
【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.B1およびB2セルのドロップダウンリストを表示します
4.B列の列幅を200pxくらいに広げます
5.B1およびB2セルのドロップダウンリストを表示します
--B2セルのドロップダウンリストの幅が列幅に調整されません
【サンプルコード】
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' B1セルにGcComboBox型セルを設定
Dim gccb1 As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gccb1.Items.AddRange({"123", "456", "789"})
FpSpread1.ActiveSheet.Cells(0, 1).CellType = gccb1
' B2セルにGcComboBox型セルを設定
Dim gccb2 As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gccb2.Items.AddRange({"abc", "def"})
FpSpread1.ActiveSheet.Cells(1, 1).CellType = gccb2
End Sub
回避方法
以下のサンプルコードのように、編集時のコンボボックスの幅を明示的に指定します。
【サンプルコード】
Private Sub FpSpread1_EditModeOn(sender As Object, e As EventArgs) Handles FpSpread1.EditModeOn
Dim iRow As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim iCol As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
If TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType Then
Dim currentColWidth As Integer = CInt(FpSpread1.ActiveSheet.ActiveCell.Column.Width)
Dim editingControl As GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxEditingControl = TryCast(FpSpread1.EditingControl, GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxEditingControl)
If editingControl IsNot Nothing Then
editingControl.Width = currentColWidth + 1
editingControl.Width = currentColWidth
End If
End If
End Sub
【サンプルコード】
Private Sub FpSpread1_EditModeOn(sender As Object, e As EventArgs) Handles FpSpread1.EditModeOn
Dim iRow As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim iCol As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
If TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType Then
Dim currentColWidth As Integer = CInt(FpSpread1.ActiveSheet.ActiveCell.Column.Width)
Dim editingControl As GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxEditingControl = TryCast(FpSpread1.EditingControl, GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxEditingControl)
If editingControl IsNot Nothing Then
editingControl.Width = currentColWidth + 1
editingControl.Width = currentColWidth
End If
End If
End Sub
旧文書番号
40115