В RowFilter, как выбрать все столбцы таблицы в C #?
Вопрос
Вот мой код ...
Здесь у меня есть один текстовый ящик.При написании некоторых текста автоматически соответствует строке и Найти все ряд ..
Теперь. Но в моем коде .. только фильтр, используя «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 + "%'";
. Не связан с StackOverflow