В RowFilter, как выбрать все столбцы таблицы в C #?

StackOverflow https://stackoverflow.com//questions/12677799

  •  12-12-2019
  •  | 
  •  

Вопрос

Вот мой код ...

Здесь у меня есть один текстовый ящик.При написании некоторых текста автоматически соответствует строке и Найти все ряд ..

Теперь. Но в моем коде .. только фильтр, используя «Clientname», я хочу поискать текст из вся колонна ..

Как указать все столбец в rowfilter Пожалуйста, дайте мне решение

    private void txtSearch_TextChanged(object sender, EventArgs e)
    {
      dv.RowFilter = "ClientName Like '%" + txtSearch.Text + "%'";
      dgClientMaster.DataSource = dv;
    }
.

Это было полезно?

Решение

попробуйте этот код:

private void txtSearch_TextChanged(object sender, EventArgs e)
{
    StringBuilder sb = new StringBuilder();

    foreach (DataColumn column in dv.Table.Columns)
    {
        sb.AppendFormat("{0} Like '%{1}%' OR ", column.ColumnName, txtSearch.Text);
    }

    sb.Remove(sb.Length - 3, 3);
    dv.RowFilter = sb.ToString();
    dgClientMaster.DataSource = dv;
}
.

Другие советы

Вам необходимо указать столбцы, которые вы хотите найти, и отдельно отделиться с предложением OR, как это:

dv.RowFilter = "ClientName Like '%" + txtSearch.Text + "%' OR ClientNickName Like '%" + txtSearch.Text + "%'"; 
.

Кроме того, вам нужно избежать одиночных кавычек, или вы получите разбитые вопросы или проблемы впрыска SQL.

Вы можете попробовать

dv.RowFilter = "Column1 + Column2 + Column3" + " Like '%" + txtSearch.Text + "%'";
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top