Я пытаюсь добавить функцию автозаполнения в текстовое поле, результаты поступают из базы данных. Они приходят в формате
[001] Last, First Middle
В настоящее время вы должны ввести [001] ..., чтобы получить записи для отображения. Итак, проблема в том, что я хочу, чтобы он завершился, даже если я сначала наберу имя . Так что, если запись была
[001] Смит, Джон Д
если я начал печатать Джона, то эта запись должна появиться в результатах автоматического завершения.
В настоящее время код выглядит примерно так:
AutoCompleteStringCollection acsc = new AutoCompleteStringCollection();
txtBox1.AutoCompleteCustomSource = acsc;
txtBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
txtBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
....
if (results.Rows.Count > 0)
for (int i = 0; i < results.Rows.Count && i < 10; i++)
{
row = results.Rows[i];
acsc.Add(row["Details"].ToString());
}
}
results - это набор данных, содержащий результаты запроса
Запрос представляет собой простой поисковый запрос, использующий оператор like. Правильные результаты возвращаются, если мы не используем автозаполнение и просто помещаем результаты в массив.
Любой совет?
EDIT:
Вот запрос, который возвращает результаты
SELECT Name from view_customers where Details LIKE '{0}'
С {0} в качестве заполнителя для искомой строки.