作成日: 2024/05/27 最終更新日: 2024/10/09
文書種別
不具合
状況
修正済み
詳細
ComboListを用いたコンボボックスで、表示される項目数が以前のバージョンよりも多くなっています。 例えばコンボボックスの項目数=30である場合、以前(*1)は表示項目数は8件でスクロールバーが表示されていたのですが、最新版(*2)では30件すべてが表示されます。
(*1) ver.4.0.20153.110で確認
(*2) ver.4.6.20233.643で確認
また、また項目数を指定するために、コンボボックスのMaxDropDownItemsプロパティを設定しても、有効になりません。
(*1) ver.4.0.20153.110で確認
(*2) ver.4.6.20233.643で確認
また、また項目数を指定するために、コンボボックスのMaxDropDownItemsプロパティを設定しても、有効になりません。
回避方法
この問題は2024J v1.1(4.8.20241.672)で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
SetupEditorイベントで、コンボボックスのDropDownHeightを指定します。
※以下のコードでは、項目数を8個に設定しています。
◎サンプルコード(VB)
※修正版を適用しない場合の回避方法は以下の通りです。
SetupEditorイベントで、コンボボックスのDropDownHeightを指定します。
※以下のコードでは、項目数を8個に設定しています。
◎サンプルコード(VB)
Private Sub C1FlexGrid1_SetupEditor(sender As Object, e As RowColEventArgs) Handles C1FlexGrid1.SetupEditor
If e.Col = C1FlexGrid1.Cols("ComboList").Index Then
Dim comboBox = DirectCast(C1FlexGrid1.Editor, ComboBox)
comboBox.DropDownHeight = 8 * (comboBox.ItemHeight + 3) + 3
End If
End Sub
◎サンプルコード(C#)
private void c1FlexGrid1_SetupEditor(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
{
if (e.Col == c1FlexGrid1.Cols["ComboList"].Index)
{
ComboBox comboBox = (ComboBox)c1FlexGrid1.Editor;
comboBox.DropDownHeight = 8 * (comboBox.ItemHeight + 3) + 3;
}
}