Как мне создать textBox autoCompleteSource из таблицы набора данных? - PullRequest
0 голосов
/ 07 мая 2019

В моей Winform у меня есть TextBox. Я установил для него значение «Автозаполнение», и я хочу знать, что писать в моем коде (c #), чтобы установить его «Автозаполнение» для значений некоторых столбцов в таблице из набора данных. Спасибо!

Ответы [ 3 ]

1 голос
/ 07 мая 2019

Если у вас есть таблица данных в переменной table, то для отображения списка ее столбцов в качестве источника автозаполнения вы можете использовать код, подобный следующему:

var columns = table.Columns.Cast<DataColumn>();
var source = new AutoCompleteStringCollection();
source.AddRange(columns.Select(x => x.ColumnName).ToArray());
textBox1.AutoCompleteCustomSource = source;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

Однако использование ComboBox имеет больше смысла. Чтобы увидеть пример для ComboBox, посмотрите на это сообщение .

0 голосов
/ 08 мая 2019

В коде:

var rows = table.Rows.Cast<DataRow>();
var source = new AutoCompleteStringCollection();
source.AddRange(rows.Select(x => x.Field<String>("ColumnName")).ToArray());
textBox.AutoCompleteCustomSource = source;
textBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

Просто замените table, textBox и "ColumnName".

0 голосов
/ 07 мая 2019

заполнить источник данных, используя этот пост:

Source = dt.AsEnumerable().Select<System.Data.DataRow, String>(x => x.Field<String>("Name")).ToArray();

и это предложит вам

textbox.AutoCompleteCustomSource = source;
textbox.AutoCompleteMode = AutoCompleteMode.Suggest;
textbox.AutoCompleteSource = AutoCompleteSource.CustomSource;
...