当前位置: 首页 > 编程语言 > C#

是否可以在TextBox中使用DataTable作为AutoCompleteSource?(C#)分享

时间:2023-04-10 18:06:22 C#

是否可以将DataTable作为TextBox中的AutoCompleteSource?(C#)是否可以将DataTable作为TextBox中的AutoCompleteSource?(C#)Jared是正确的——你不能不做一些操作就直接绑定。下面是使用LINQDataSet扩展检索字段作为自动完成源的示例:DataTabledtPosts=newDataTable();使用(SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["StackOverflow"].ConnectionString)){conn.Open();使用(SqlDataAdapteradapt=newSqlDataAdapter("SELECTTOP100Id,Title,Body,CreationDateFROMPostsWHERETitleISNOTNULLORDERBYId",conn)){adapt.SelectCommand.CommandTimeout=120;适应.填充(dtPosts);}}//使用LINQ方法语法将标题字段从DT拉入字符串数组...string[]postSource=dtPosts.AsEnumerable().Select(x=>x.Field("Title")).ToArray();varsource=newAutoCompleteStringCollection();source.AddRange(postSource);textBox1.AutoCompleteCustomSource=来源;textBox1.AutoCompleteMode=AutoCompleteMode.SuggestAppend;textBox1.AutoCompleteSource=AutoCompleteSource.CustomSource;进入AutoCompleteStringCollection。你可以这样做(从这里):privateAutoCompleteStringCollectionGetAutoSourceCollectionFromTable(DataTabletable)foreach(DataRowrowintable.Rows){autoSourceCollection.Add(row[0]);//假设所需数据在第一列}returnautoSourceCollection;我猜你已经知道你的答案了,但对于问这个问题的人来说,答案是否定的,如果你有疑问,请参阅AutoCompleteSourcesupportedoptions。在Winforms中自动完成自定义数据时,我们使用AutoCompleteCustomSource选项,它只能获取或设置AutoCompleteStringCollection。您现在可以通过使用所需的查询和方法从数据库中获取记录来填充DataTable,然后可以通过迭代DataTable的DataRow元素将其添加到StringCollection。这是LeandroTuttini的一个简单示例:textBox1.AutoCompleteCustomSource=LoadAutoComplete();//这个方法在下面textBox1.AutoCompleteMode=AutoCompleteMode.Suggest;textBox1.AutoCompleteSource=AutoCompleteSource.CustomSource;publicstaticAutoCompleteStringCollectionLoadAutoComplete(){DataTabledt=LoadDataTable();//假设此方法返回一个DataTable,其中包含从数据库中获取的记录。AutoCompleteStringCollectionstringCol=newAutoCompleteStringCollection();foreach(dt.Rows中的数据行行){stringCol.Add(Convert.ToString(row[0]));}返回字符串列;//返回添加记录的字符串集合}是。这是一个使用类型化数据集和两个文本框的示例(源代码...滚动到顶部的大图查看代码)以上是C#学习教程:是否可以在文本框中使用数据表作为自动完成源?(C#)所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——ForEachstoreAsStoreDataSet.StoreRowInStoreDataSet.StoreIfstore.StoreID.StartsWith("0")ThenStoreIDTextBox.AutoCompleteCustomSource.Add(store.StoreID.TrimStart("0"))EndIfStoreIDTextBox.AutoCompleteCustomSource.Add(store.StoreID)StoreNameTextBox.AutoCompleteCustomSource.Add(store.StoreName)下一个store代表该职位,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: