以下代码有效,但我正在寻找更复杂的东西,也就是当我在定义的文本框中键入第二个名字或姓氏的字符时,整个名称(名字,名字或名字)在一个列中( " Nombre_Doctor")在DB中,所以它只是过滤它搜索所有列中的sigle字符。
或者如何更改为当我在整个表上搜索任何值(数字或字符)并过滤它(再次填充DataGridView)时,在代码中可以看到它选择*(全部)来自DOCTORS(表)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();
}
答案 0 :(得分:0)
如果你想做的是根据搜索过滤你的GridView数据,我建议: 您有一个列表或集合,其中包含所有数据。我有这个例子:
IEnumerable<Product> ListProduct = from Prod in LstProducts where Prod.Description.StartsWith(txtFind.Text) select Prod;
dataGridView1.Rows.Clear();
foreach (var item in ListProduct)
this.dataGridView1.Rows.Add(item.Id, item.Status, item.Description, tipo.Price);
过滤所需列中的信息(描述)并使用所需的过滤器(StartsWith),但为此需要有一个对象列表(LstProducts)。我希望它有所帮助。