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;
    }
Foi útil?

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
scroll top