Member 13512434 Ответов: 1

Используйте textbox для фильтрации datagridview


Я пытаюсь написать код так, чтобы, когда пользователь вводит слово в текстовое поле, соответствующая строка была единственной, оставшейся в databseview...

Но когда я набираю слово "а", таблица становится пустой..


private void SearchTxtBx_TextChanged(object sender, EventArgs e)
{
       sqlcon.Open();
       SqlDataAdapter da = new SqlDataAdapter("Select * from [Product Inventory] Where [Product Name] = '" + SearchTxtBx.Text + "'", sqlcon);
       DataTable dt = new DataTable();
       da.Fill(dt);
       dataGridView1.DataSource = dt;
       sqlcon.Close();


Что я уже пробовал:

private void SearchTxtBx_KeyPress(object sender, KeyPressEventArgs e)
{
    var cm = (CurrencyManager)dataGridView1.BindingContext[dataGridView1.DataSource, dataGridView1.DataMember];
   var dataView = (DataView)cm.List;
    dataView.RowFilter = string.Format("Name='{0}'", SearchTxtBx.Text);

}

1 Ответов

Рейтинг:
1

OriginalGriff

Попробуй как вместо равных:

SELECT * FROM [Product Inventory] WHERE [Product Name] LIKE '%Search words%'

Символ " % "действует как подстановочный знак точно так же, как" * " при поиске файлов.