我試圖在Windows窗體上使用PostgreSQL數據庫中的數據實現自動完成文本框。讓我試着解釋我的問題:C# - 使用來自兩個字段的數據自動完成文本框
在數據庫中,我有一個分別具有firstName和lastName字段的表。
在我的Windows窗體應用程序中,我想提供使用firstName或lastName進行搜索並提供自動完成選項的機會。例如,如果我在名字爲「Goat」和lastName「McGoats」的表上有條目,我希望能夠在我的「建議」中獲得「Goat McGoats」(firstName {空}} lastName) Windows窗體文本框是否輸入「G」或「M」 - 名字或姓氏的開頭。
現在,我所擁有的是一列的工作解決方案(即)我可以使用firstName(或單獨的姓氏)填充AutoCompleteSource,然後搜索將對此起作用。在上面的例子中,這意味着鍵入G會給「山羊」作爲一個建議 - 注意,它並不建議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#中支持這種功能?或者是在文本框下方添加一個隱藏的列表框,並使用搜索字符串手動填充這些值,這是實現此目的的唯一方法?