【发布时间】:2016-11-02 19:45:59
【问题描述】:
如何做到这一点?
从用户的角度来看,C# Winforms,当用户在搜索文本框中键入内容时,我希望 dataGridView 中显示的项目列表被(过滤?)
这是目前正在发生的事情:
dataGridView 使用项目列表作为其数据源,类似于:
dgv.DataSource = _myItemList;
_myItemList 的每个项目都有 2 个属性(id、描述)
dgv 下方有一个文本框,用户可以在其中搜索列表中的项目
目前,当用户在文本框中输入时,下面会出现一个过滤后的 _myItemList(与此过滤后的列表出现的方式相同,这也是我希望 dgv 发生的情况)
自动的东西发生在这段代码中
foreach(_myItemList 中的变量项) { 字符串字=项目。描述; textBoxCollection.Add(word); }
textBoxSearchEmployeeList.AutoCompleteMode = AutoCompleteMode.Suggest;
textBoxSearchEmployeeList.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBoxSearchEmployeeList.AutoCompleteCustomSource = textBoxCollection;
例如,如果用户在文本框中键入“Vac”,则会出现 _myItemList 中所有以“Vac”开头的字符串。然后随着用户继续键入 dgv 中的项目将减少。这样当用户在文本框中输入“假期”时,dgv 只显示一行“假期”。
如果不清楚我要做什么,请告诉我。
【问题讨论】:
-
这取决于您用作
DataGridView数据源的类型。以this post 为例。
标签: c# winforms datagridview