使用Select语句在填充的GridView中搜索

时间:2011-12-14 09:13:51

标签: asp.net oledb

我的网页上有一个gridview,它使用OleDb从Excel工作表中绑定

现在我正在设置它,以便人们只需在文本框中输入一个单词即可进行搜索,然后在按钮点击后,它会过滤所有在任何列中具有相同单词的结果

我被建议使用此代码:

 protected void Button1_Click(object sender, EventArgs e)
    {
        string search = TextBox1.Text;
        OleDbConnection conn = new OleDbConnection(strConn);
        conn.Open();
        OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", conn);
        OleDbDataAdapter da = new OleDbDataAdapter();
        da.SelectCommand = cmd;            
        DataTable dt = new DataTable();
        da.Fill(dt);            
        grvCarProof.DataSource = dt.Select("CP number = ");
        grvCarProof.DataBind();

    }

我无法弄清楚我的SelectCommand()应该写什么样的写作。我是在正确的轨道上

1 个答案:

答案 0 :(得分:0)

使用DataView及其RowFilter属性。

DataView dv=dt.DefaultView;
dv.RowFilter="[Cp Number]='value']";
grvCarProof.DataSource = dv;
grvCarProof.DataBind();

或添加WHERE子句,

 OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$] where [column1]=@col1", conn);
 cmd.Parameters.AddWithValue("@col1",inputValueFromUser);
 OleDbDataAdapter da = new OleDbDataAdapter();
 da.SelectCommand = cmd;            
 DataTable dt = new DataTable();
 da.Fill(dt);            
 grvCarProof.DataSource = dt;
 grvCarProof.DataBind();