このコードを使用してDatagridviewのレコードを検索しましたが、機能していません。間違いを見つけるのを手伝ってください! C#を使用してDatagridviewでレコードを検索するには
private void txtSearch_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
if (string.IsNullOrEmpty(txtSearch.Text))
{
dataGridView.DataSource = customerBindingSource;
}
else
{
var query = from o in customerBindingSource.DataSource as List<Customer>
where o.CustomerID == txtSearch.Text||o.Fullname.Contains(txtSearch.Text) || o.Email == txtSearch.Text || o.Address.Contains(txtSearch.Text)
select o;
dataGridView.DataSource = query.ToList();
}
}
}
詳細を記入してください。このコードをデバッグするとどうなりますか?一致した内容が含まれているセルでデータソースをリセットして、フォーカス()をリセットしませんか?これはより典型的な検索動作です。あなたがコード化したものは、フィルタのように聞こえます。 –
データソースをリセットする必要はないと思います。すべてが検索テキストボックスを除いて機能するからです。あなたが画像を見ることができるように、私が検索テキストボックスに書き込むとき、何も起こらない –
'どこでもo.Customer.ID LIKE '%' + @id + '%'' ....と '|| '' connection.Parameters.AddWithValue( "@ id"、txtSearch.Text); ' – Makishima