Здесь я сделал функцию, передающую имя таблицы, из которой необходимо выполнить автозаполнение, имя поля, которое должно быть автозаполнением, и поле со списком, на которое нужно ориентироваться.
Попробуйте следующий код:
public void AutoCompleteTextBox(string tableName, string fieldName, ComboBox combToAutoComp)
{
AutoCompleteStringCollection txtCollection = new AutoCompleteStringCollection();
DataTable dtAutoComp = Dal.ExecuteDataSetBySelect("Stored_Procedure", fieldName, tableName);
if (dtAutoComp.Rows.Count >= 0)
{
for (int count = 0; count < dtAutoComp.Rows.Count; count++)
{
txtCollection.Add(dtAutoComp.Rows[count][fieldName].ToString());
}
}
combToAutoComp.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
combToAutoComp.AutoCompleteSource = AutoCompleteSource.CustomSource;
combToAutoComp.AutoCompleteCustomSource = txtCollection;
}
Здесь Dal.ExecuteDataSetBySelect
- моя реализация, в которой я создаю соединение, команду и адаптер данных для вызова хранимой процедуры. Вы можете заменить его собственной реализацией для того же самого. Для более подробной информации эта ссылка