如何使dataGridView中显示的项目列表(过滤?)

时间:2016-11-02 19:45:59

标签: c# winforms datagridview

怎么做?

从用户的角度来看,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只显示一行,"假期"。

如果我不清楚我要做什么,请告诉我。

1 个答案:

答案 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 +"%'";
        }

<强>结果;

Hash#each_pair

希望有所帮助,