怎么做?
从用户的角度来看,C#Winforms,作为搜索文本框中的用户类型,我想要在dataGridView中显示的项目列表(过滤?)
以下是目前正在发生的事情:
dataGridView使用项目列表作为其数据源,类似于:
dgv.DataSource = _myItemList;
_myItemList的每个项目都有2个属性(id,description)
在dgv下面有一个文本框,用户可以在其中搜索列表中的项目
目前,当文本框中的用户输入时,过滤后的_myItemList会出现在下面(与此过滤列表出现的方式相同,我想用dgv进行此操作)
此代码发生了自动内容
foreach(_myItemList中的var项) { string word = item.Description; textBoxCollection.Add(字); }
textBoxSearchEmployeeList.AutoCompleteMode = AutoCompleteMode.Suggest;
textBoxSearchEmployeeList.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBoxSearchEmployeeList.AutoCompleteCustomSource = textBoxCollection;
例如,如果用户键入" Vac"进入文本框,_myItemList中的所有字符串以" Vac"开头。会出现。然后当用户继续键入dgv中的项目将减少。因此,当用户输入"假期"进入文本框,然后dgv只显示一行,"假期"。
如果我不清楚我要做什么,请告诉我。
答案 0 :(得分:0)
如果我没有理解错误,那么你正在寻找这个,
我创建了简单的DataTable
行。 (你可以在gif看到)我有一个textbox
来过滤。这里,
private void textBox1_TextChanged(object sender, EventArgs e)
{
DataView dv = (dataGridView1.DataSource as DataTable).DefaultView;
dv.RowFilter = "Name Like '"+ textBox1.Text +"%'";
}
<强>结果; 强>
希望有所帮助,