マスクコンボコントロールでは、テキストボックスに入力する値によって、リストボックスに登録されている項目をフィルタリングするオートフィルタ機能を提供しています。
(図) オートフィルタ機能でリストをフィルタしたマスクコンボコントロール
コントロールのAutoFilter プロパティが参照するAutoFilter クラスのEnabled プロパティをTrueに設定すると、マスクコンボコントロールのオートフィルタ機能を使用できます。
オートフィルタ機能は、マスクコンボコントロールのDropDownStyle プロパティがDropDownListに設定されている場合は無効になります。 |
MinimumPrefixLength プロパティで設定された値の文字数が入力されたときにフィルタリングを開始します。 また、一度のフィルタリングで取得可能な最大項目数は、MaxFilteredItems プロパティで設定できます。 さらに、Interval プロパティでフィルタリング動作を開始するまでの時間(ミリ秒)を指定することができます。
AutoFilterクラスには、オートフィルタ機能で利用する検索モードを6種類の検索方法から設定するMatchingMode プロパティがあり、以下のAutoCompleteMatchingMode 列挙型で指定します。
MatchingModeの値 | 説明 |
---|---|
MatchStartWith | 前方一致 大文字/小文字の区別なし 全角/半角/ひらがな/カタカナ/カタカナの区別あり で検索します |
MatchAll | 部分一致 大文字/小文字の区別なし 全角/半角/ひらがな/カタカナ/カタカナの区別あり で検索します |
AmbiguousMatchStartWith | 前方一致 大文字/小文字の区別なし 全角/半角/ひらがな/カタカナ/カタカナの区別なし で検索します |
AmbiguousMatchAll | 部分一致 大文字/小文字の区別なし 全角/半角/ひらがな/カタカナ/カタカナの区別なし で検索します |
ExactMatchStartWith | 前方一致 大文字/小文字の区別あり 全角/半角/ひらがな/カタカナ/カタカナの区別あり で検索します |
ExactMatchAll | 部分一致 大文字/小文字の区別あり 全角/半角/ひらがな/カタカナ/カタカナの区別あり で検索します |
オートフィルタでは検索対象のカラムを設定できます。MatchingSource プロパティをFilterMatchingSource.AllSubItems に設定すると、リスト内の全てのカラムを対象に検索を行い、 FilterMatchingSource.ControlText を設定するとTextSubItemIndex プロパティに設定したText プロパティ設定に使用されるカラム、もしくはTextFormat プロパティに設定した書式を対象に検索を行います。
次のサンプルコードは、マスクコンボコントロールのフィルタリング動作の設定例です。
GcMaskedComboBox1.AutoFilter.Enabled = True
GcMaskedComboBox1.AutoFilter.Interval = 500
GcMaskedComboBox1.AutoFilter.MaxFilteredItems = 8
GcMaskedComboBox1.AutoFilter.MinimumPrefixLength = 1
GcMaskedComboBox1.AutoFilter.MatchingMode = GrapeCity.Win.Editors.AutoCompleteMatchingMode.MatchStartWith
GcMaskedComboBox1.AutoFilter.MatchingSource = GrapeCity.Win.Editors.FilterMatchingSource.AllSubItems
gcMaskedComboBox1.AutoFilter.Enabled = true;
gcMaskedComboBox1.AutoFilter.Interval = 500;
gcMaskedComboBox1.AutoFilter.MaxFilteredItems = 8;
gcMaskedComboBox1.AutoFilter.MinimumPrefixLength = 1;
gcMaskedComboBox1.AutoFilter.MatchingMode = GrapeCity.Win.Editors.AutoCompleteMatchingMode.MatchStartWith;
gcMaskedComboBox1.AutoFilter.MatchingSource = GrapeCity.Win.Editors.FilterMatchingSource.AllSubItems;