オートコンプリートを使用するテキストボックスがあります。たとえば、use で開始文字を入力すると、ドロップダウンにオプションが表示されます。これは、次のコードを使用して現在行っていることです。
inputTextBox.AutoCompleteMode = AutoCompleteMode.Suggest;
inputTextBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
inputTextBox.AutoCompleteCustomSource = inputStringCollection; //inputStringCollection contains the list of possible strings
必要なもの:
このテキスト ボックスを使用して、複数の種類のデータを検索できるようにしたいと考えています (氏名、ユーザー名、電子メール、電話番号など)。たとえば、顧客にはフルネーム、システム内のユーザー名、電話番号のリスト、電子メールのリストなどの属性があります。現在、これらのそれぞれに個別のテキストボックスがありますが、それらをすべてマージしたいと考えています。 1つに。したがって、同じテキストボックス内ですべてのタイプの属性を検索できるようにする必要があります。
問題:
考えられる実装の 1 つは、属性の種類ごとに個別の文字列コレクションを作成し、それらをすべて 1 つにマージしてから、その統合された文字列コレクションをこのテキスト ボックスに添付することです。このアプローチの問題は、重複を処理できないことです。名前とユーザー名が両方とも「John」である人物がいるとします。このような場合、ドロップダウンから選択された属性のタイプがわかりません。
質問:
テキストボックスのオートコンプリートメカニズムに単なる文字列コレクション以外のものを添付することは可能ですか? たぶん、ID、属性のタイプなどのいくつかの値を定義するカスタムデータ構造オブジェクトを格納する Arraylist を持つことができます..または同様のものですか? このようにして、ユーザーがドロップダウンからエントリを選択すると、ユーザーが選択した属性のタイプを知ることができます。