在RowFilter中,如何在C#中选择所有表列?

这是我的代码……

这里我有一个TextBox。 当写一些文本自动匹配String并找到所有Row ..

现在..但在我的代码中……只有使用“ClientName”的filter我希望从所有列中搜索该文本..

如何在RowFilter plz中指定All The Column给我解决方案

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 + "%'";