PostgreSQLデータベースのデータを使用してWindowsフォームに自動補完テキストボックスを実装しようとしています。私の問題を説明しようとしましょう:2つのフィールドのデータを使用してテキストボックスをオートコンプリートする
データベースでは、私は別々のfirstNameとlastNameフィールドを持つテーブルがあります。
私のWindowsフォームアプリケーションでは、firstNameまたはlastNameのいずれかを使用して検索し、そこからオートコンプリートオプションを提供する機会を提供したいと考えています。
たとえば、firstName "Goat"とlastName "McGoats"というテーブルにエントリがある場合、私は "Goat McGoats"(firstName {space} lastName)を私のWindowsフォームのテキストボックスで、「G」または「M」のどちらを入力するかは、ファーストネームまたはラストネームのいずれかの開始です。
今のところ、1つの列(つまり、firstNameのみ(またはlastNameのみ))でAutoCompleteSourceを設定してから、その検索が機能します。上の例では、Gをタイプすると、 "Goat"が提案されます。つまり、firstName + lastNameは提案されていません。
現在のコードはそうのようになります。
nameTextBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
nameTextBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
// Retrieve all rows
cmd.CommandText = "SELECT * FROM users";
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
collection.Add(reader["firstName"].ToString());
}
}
nameTextBox.AutoCompleteCustomSource = collection;
は、オートコンプリートのC#のサポートでこの機能をしていますか?または、テキストボックスの下に隠しリストボックスを追加し、検索文字列を使用して手動で値を入力するだけです。