Как Rowfilter в C # DataGrid с помощью текстового поля с MS Access - PullRequest
0 голосов
/ 14 мая 2019

Я пытался смотреть учебники на YouTube. C # продолжает отвечать «пропущенным операндом», надеюсь, кто-то может мне помочь

connection.Open();
OleDbCommand command = connection.CreateCommand();
command.CommandType = CommandType.Text;
command.CommandText = "select * from Table2 where Last_Name ='" + textBox12 + "'";
command.ExecuteNonQuery();
DataTable dt = new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(command);
da.Fill(dt);
dataGridView1.DataSource = dt;
connection.Close();

1 Ответ

0 голосов
/ 14 мая 2019

Как уже говорили другие, трудно предсказать ваш код.Если это приложение WinForms и у вас есть один TextBox (скажем, с именем SearchTextBox) и dataGridView (скажем, с именем dataGridView1), и у вас есть столбец с именем FirstName в вашем dataGridView1 (также в dataTable), ваш код должен выглядеть следующим образом:

private void SearchTextBox_TextChanged(object sender, EventArgs e)
{
    var bd = (BindingSource)dataGridView1.DataSource;
    var dt = (DataTable)bd.DataSource;
    dt.DefaultView.RowFilter = string.Format("FirstName like '%{0}%'", SearchTextBox.Text.Trim().Replace("'", "''"));    
    dataGridView1.Refresh();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...