如何从数据集 table 创建文本框 autoCompleteSource?
How do I create a textBox autoCompleteSource from dataset table?
在我的 Winform 中,我有一个文本框。我将其设置为 "AutoComplete",并且我想知道在我的代码 (c#) 中编写什么,以便将其 "AutoCompleteSource" 设置为数据集中 table 中某些列的值。
谢谢!
使用此 post:
填充数据源
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;
假设您在 table
变量中有一个数据 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
的示例,请查看 .
代码中:
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"
。
在我的 Winform 中,我有一个文本框。我将其设置为 "AutoComplete",并且我想知道在我的代码 (c#) 中编写什么,以便将其 "AutoCompleteSource" 设置为数据集中 table 中某些列的值。 谢谢!
使用此 post:
填充数据源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;
假设您在 table
变量中有一个数据 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
的示例,请查看
代码中:
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"
。