【发布时间】:2016-03-08 22:45:11
【问题描述】:
以下代码有效,但我正在寻找更复杂的内容,即当我在定义的文本框中键入第二名或姓氏的字符时,整个名称(名字、第二名或姓氏)在单个列中( “Nombre_Doctor”)在数据库中,所以它只是过滤它搜索所有列中的单个字符。
或者当我在整个表上放置任何值(数字或字符)并对其进行过滤(再次填充 DataGridView)时如何更改它,因为在代码中您可以看到它选择 *(全部)来自 DOCTORS (table) WHERE Nombre_Doctor (只有一列) ...等
非常感谢您。
LC
private void txtsearchpa_KeyUp(object sender, KeyEventArgs e)
{
con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select * from [DOCTORS] where Nombre_Doctor like ('" + txtsearchdr.Text + "%')";
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
DGV1.DataSource = dt; //DGV = DataGridView
con.Close();
}
【问题讨论】:
-
所以你想在
TextBox中输入“文本”,并且网格应该过滤掉所有行,除了“文本”出现在 any 列中,对吗?跨度> -
不,它必须过滤该列中[TextBox]的任何“文本”,甚至必须过滤所有列中[TextBox]的任何“文本”和/或“数字”。
标签: c# datagridview filter