我的网页上有一个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()应该写什么样的写作。我是在正确的轨道上
答案 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();