Em RowFilter, como Selecionar todas as Colunas da Tabela em C#?
Pergunta
Aqui É O Meu Código...
Aqui eu tenho uma caixa de Texto.Ao escrever algum texto corresponde automaticamente a Seqüência de caracteres e encontrar todas as linhas..
agora ..mas no meu código..aqui Só de Filtro usando "ClientName" eu quero que o texto de pesquisa toda a Coluna..
Como especificar a Todos A Coluna na RowFilter plz me dar a solução
private void txtSearch_TextChanged(object sender, EventArgs e)
{
dv.RowFilter = "ClientName Like '%" + txtSearch.Text + "%'";
dgClientMaster.DataSource = dv;
}
Solução
Tente este código:
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;
}
Outras dicas
Você precisará especificar as colunas que você deseja pesquisar, e separada com um OR
cláusula, como este:
dv.RowFilter = "ClientName Like '%" + txtSearch.Text + "%' OR ClientNickName Like '%" + txtSearch.Text + "%'";
Além disso, você precisará escapar de aspas simples, ou você vai ter um partido de consulta ou injeção de SQL problemas.
Você pode tentar
dv.RowFilter = "Column1 + Column2 + Column3" + " Like '%" + txtSearch.Text + "%'";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow