C#如何更改我的代码?

C#如何更改我的代码?,c#,datagridview,rows,rowfilter,display,C#,Datagridview,Rows,Rowfilter,Display,写入所需的单词将显示在文本框中。我想有多行…但是,通过这段代码,我只选择了一行。。 我想输出到屏幕上的行。。我希望只显示指定的行(与文本框的文本匹配),而不是绘制。如何做到这一点 try { dataGridView1.ClearSelection(); //or restore rows backcolor to default for (int i = 0; i < (dataGridView1.Rows.

写入所需的单词将显示在文本框中。我想有多行…但是,通过这段代码,我只选择了一行。。 我想输出到屏幕上的行。。我希望只显示指定的行(与文本框的文本匹配),而不是绘制。如何做到这一点

     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");
        }
试试看
{
dataGridView1.ClearSelection();//或将行背景色还原为默认值
对于(int i=0;i<(dataGridView1.Rows.Count);i++)
{
对于(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;//还可以为行背景着色
返回;
}
}
}
捕获(例外)
{
MessageBox.Show(“不存在”);
}

如果要根据搜索框筛选数据,则应将数据放入
数据表
中,筛选
数据视图
,并将该
数据视图
绑定到
数据网格视图
。(您可以在和中了解这一点)

但是,如果要更改当前代码,则应删除
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");
        }
试试看
{
dataGridView1.ClearSelection();//或将行背景色还原为默认值
对于(int i=0;i<(dataGridView1.Rows.Count);i++)
{
对于(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;//还可以为行背景着色
//返回;
dataGridView1.Rows.Remove(dataGridView1.Rows[i]);
}
}
}
捕获(例外)
{
MessageBox.Show(“不存在”);
}

如果要根据搜索框筛选数据,则应将数据放入
数据表
中,筛选
数据视图
,并将该
数据视图
绑定到
数据网格视图
。(您可以在和中了解这一点)

但是,如果要更改当前代码,则应删除
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");
        }
试试看
{
dataGridView1.ClearSelection();//或将行背景色还原为默认值
对于(int i=0;i<(dataGridView1.Rows.Count);i++)
{
对于(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;//还可以为行背景着色
//返回;
dataGridView1.Rows.Remove(dataGridView1.Rows[i]);
}
}
}
捕获(例外)
{
MessageBox.Show(“不存在”);
}

您想只过滤网格的数据源吗?也许。。?对不起,我英语不好。。我使用datagridview..加载csv文件..制作了。。不使用数据表。。所以,然后我想通过过滤来搜索函数。windows桌面应用程序?。。?是的~请帮帮我!你想只过滤网格的数据源吗?也许。。?对不起,我英语不好。。我使用datagridview..加载csv文件..制作了。。不使用数据表。。所以,然后我想通过过滤来搜索函数。windows桌面应用程序?。。?是的~请帮帮我!哦,好的,我明白了。嗯…还有一个问题..我不想用数据表。。因为我不能用它..我是初学者..我想在文本框中看到通过屏幕只搜索单元格..有办法吗?这段代码也适用于此,因为它只在datagrid的行中搜索。。但是请记住,如果您搜索了“hello”,那么它将显示以“hello”开头的行,并删除其他所有行&在您从csv重新绑定datagrid之前,您无法取回它们。是的,datatable对初学者来说也很容易。。你应该试试……哦,好的,我明白了。嗯…还有一个问题..我不想用数据表。。因为我不能用它..我是初学者..我想在文本框中看到通过屏幕只搜索单元格..有办法吗?这段代码也适用于此,因为它只在datagrid的行中搜索。。但是请记住,如果您搜索了“hello”,那么它将显示以“hello”开头的行,并删除其他所有行&在您从csv重新绑定datagrid之前,您无法取回它们。是的,datatable对初学者来说也很容易。。你应该试试看。。