none
ComboBox - Ignorar Acentos na busca RRS feed

  • Pergunta

  • Boa Tarde!

    Tenho uma tabela como todos os estados e cidades do brasil, a mesma é carregada em dois ComboBox.

    Tambem tenho uma rotina que puxa os dados cadastrais da empresa através do CNPJ.

    O problema é que o nome da cidade que vem da receita federal é sem acento, e no meu combobox é com acento, sendo assim ele não localiza e seleciona corretamento.


    Existe alguma maneira de na buscar ignorar os acentos do ComboBox?, pois gostaria de remover os acentos.

    OBS: Caso a cidade não tenha acento, ele funciona corretamento

    domingo, 1 de maio de 2016 21:02

Respostas

  • Boa noite,

    Remove os acentos antes de aplicar o filtro:

    public string RemoverAcentos(string texto)
    {
        if (string.IsNullOrEmpty(texto))
            return String.Empty;
        else
        {
            byte[] bytes = System.Text.Encoding.GetEncoding("iso-8859-8").GetBytes(texto);
            return System.Text.RegularExpressions.Regex.Replace(System.Text.Encoding.UTF8.GetString(bytes), "[^0-9a-zA-Z]+", " "); 
        }
    }

    Para remover:

    string cidade = RemoverAcentos("São Francisco");
    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney segunda-feira, 2 de maio de 2016 12:52
    • Marcado como Resposta Marcos SJ segunda-feira, 2 de maio de 2016 14:41
    segunda-feira, 2 de maio de 2016 00:38

Todas as Respostas

  • Boa noite,

    Remove os acentos antes de aplicar o filtro:

    public string RemoverAcentos(string texto)
    {
        if (string.IsNullOrEmpty(texto))
            return String.Empty;
        else
        {
            byte[] bytes = System.Text.Encoding.GetEncoding("iso-8859-8").GetBytes(texto);
            return System.Text.RegularExpressions.Regex.Replace(System.Text.Encoding.UTF8.GetString(bytes), "[^0-9a-zA-Z]+", " "); 
        }
    }

    Para remover:

    string cidade = RemoverAcentos("São Francisco");
    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney segunda-feira, 2 de maio de 2016 12:52
    • Marcado como Resposta Marcos SJ segunda-feira, 2 de maio de 2016 14:41
    segunda-feira, 2 de maio de 2016 00:38
  • Desculpa a demora.

    Isso funciona, mais meu caso é oposto, pois onde esta com os acentos é no ComBobox e não na string que vem. Sendo assim ele teria que ignorar os acentos do ComoboBox para conseguir localizar o txto, pois o texto ja vem sem acento.

    Mais obrigado mesmo assim, resolvi deixar o ComoboBox sem os acentos mesmo


    quinta-feira, 5 de maio de 2016 03:10