C# 在文本框中搜索值,以便在gridView中的数据中找到它

C# 在文本框中搜索值,以便在gridView中的数据中找到它,c#,asp.net,gridview,datagridview,C#,Asp.net,Gridview,Datagridview,现在,我正在打开一个.xls文件,方法是在文本框中输入文件位置,我希望通过在文本框中输入某个值来搜索该值,并删除该值所在的行 以下是包含dataGridView的Form1的代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; usi

现在,我正在打开一个.xls文件,方法是在文本框中输入文件位置,我希望通过在文本框中输入某个值来搜索该值,并删除该值所在的行

以下是包含dataGridView的Form1的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;

namespace Plan_de_lucru_1._0
{
    public partial class frPlanMain : Form
    {
        public frPlanMain()
        {
            InitializeComponent();
        }

        private void frPlanMain_Load(object sender, EventArgs e)
        {

        }

        private void GoButton_Click(object sender, EventArgs e)
        {
            string constr = "Provider = MicroSoft.Jet.OLEDB.4.0; Data Source=" + locTBox.Text + "; Extended Properties =\"Excel 8.0; HDR=Yes;\";";
            OleDbConnection con = new OleDbConnection(constr);
            OleDbDataAdapter sda = new OleDbDataAdapter("Select * From [" + shTBox.Text + "$]", con);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            dGVPlan.DataSource = dt;
            new SearchWindow().Show();
            this.Show();
        }
    }
}
这是Form2,其中包含我要在其中输入搜索值的文本框和按钮

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Plan_de_lucru_1._0
{
    public partial class SearchWindow : Form
    {
        public SearchWindow()
        {
            InitializeComponent();
        }

        private void SearchButtonW_Click(object sender, EventArgs e)
        {
            String str = "select * from searchBox where ( Name like '%' + @search + '%')";
            BindingSource bs = new BindingSource();

        }
    }
}

谢谢您的帮助。

我有一个DataTable声明为类级别

protected static DataTable dtSearch = null; 
然后我点击一个按钮,搜索数据表,根据我在Textbox.Text字段中键入的值进行筛选

protected void btnSrch_Click(object sender, EventArgs e)
{
    if (txtSearch.Text.Length > 0)
    {
        dtSearch = dtInitialDatable;//the datatable that was bound to my DatagridView 
        dv = new DataView(dtSearch);
        dv.RowFilter = "Data_Column_Name LIKE '%" + txtSearch.Text.ToUpper() + "%'";
        //bind the DataGridView to dv 
        myDataGridView.DataSource = dv;
        //myDataGridView.DataBind();//uncomment if you are doing this in webform
    }
    else
    {
        dtSearch = null;
        dv = null;
    }
}
这对我很有用:

namespace Plan_de_lucru_1._0
{
    public partial class SearchWindow : Form
    {
        public frPlanMain refTofrPlanMain;

        public SearchWindow(frPlanMain f) //<<Edit made here 
        {
            refTofrPlanMain = f;
            InitializeComponent();
        }

        private void SearchButtonW_Click(object sender, EventArgs e)
        {
            {
                (refTofrPlanMain.dGVPlan.DataSource as DataTable).DefaultView.RowFilter = string.Format("Vodic = '{0}'", searchTBoxW.Text);
                foreach (DataGridViewRow item in refTofrPlanMain.dGVPlan.Rows)
                {
                    if (item.Visible)
                    {
                        item.Selected = true;
                        break;
名称空间计划\u de\u lucru\u 1.\u 0
{
公共部分类搜索窗口:表单
{
公共frPlanMain refTofrPlanMain;

public SearchWindow(frPlanMain f)//您可以使用最初绑定到现有datagridview的DataTable执行此操作。DataTable有一个筛选器属性。我将发布一个简单的示例,说明此操作有多简单。我想这里的一个选项可以帮您完成此操作!