C# 如何更改我的代码?

C# How to change my code?

在文本框中写入所需的字词。我想要多行......但是,通过这段代码我只选择了一行...... 我想输出到屏幕行.. 而不是绘制,我只想显示指定的行(与文本框的文本匹配)。如何实现?

     try
        {

            dataGridView1.ClearSelection();   //or restore rows backcolor to default
            for (int i = 0; i < (dataGridView1.Rows.Count); i++)
            {
                for (int j = 0; j < (dataGridView1.Columns.Count); j++ )
                    if (dataGridView1.Rows[i].Cells[j].Value.ToString().StartsWith(txbSearchName.Text, true, CultureInfo.InvariantCulture))
                        //(dataGridView1.Rows[i].Cells[j].Value.ToString().StartsWith(txbSearchName.Text, true, CultureInfo.InvariantCulture))
                    {
                        dataGridView1.FirstDisplayedScrollingRowIndex = i;
                        dataGridView1.Rows[i].Selected = true; //It is also possible to color the row backgroud
                        return;
                    }
            }
        }
        catch (Exception)
        {
            MessageBox.Show("not exist");
        }

如果您想根据搜索框过滤数据,那么您应该将数据放入 datatable 并过滤 dataview 并将 dataview 绑定到 datagridview. (您可以在 here and here 了解)

但是,如果您想更改当前代码,则应删除 return,因为它将 return 从该行中删除,并且不会与其他行匹配

        try
        {

            dataGridView1.ClearSelection();   //or restore rows backcolor to default
            for (int i = 0; i < (dataGridView1.Rows.Count); i++)
            {
                for (int j = 0; j < (dataGridView1.Columns.Count); j++ )
                    if ((dataGridView1.Rows[i].Cells[j].Value.ToString().StartsWith(txbSearchName.Text, true, CultureInfo.InvariantCulture)) == false)
                        //(dataGridView1.Rows[i].Cells[j].Value.ToString().StartsWith(txbSearchName.Text, true, CultureInfo.InvariantCulture))
                    {
                        //dataGridView1.FirstDisplayedScrollingRowIndex = i;
                        //dataGridView1.Rows[i].Selected = true; //It is also possible to color the row backgroud
                        //return;
                        dataGridView1.Rows.Remove(dataGridView1.Rows[i]);
                    }
            }
        }
        catch (Exception)
        {
            MessageBox.Show("not exist");
        }