none
Como inseir o caracter % em uma coluna do GridView ? RRS feed

  • Pergunta

  • Gostaria de Saber, como inserir o caracter ' %' em uma coluna númerica de um GridView.
    Estou trabalhando com porcentagem e já tem concatenar esse caracter direto no banco e deu certo, mas ao executar o sistema em .Net da erro.
    Tentei alterar o DataFormatString do meu GridView colocando {0} % e deu o mesmo erro.
    Eu poderia converter o Field e colocar o % após o ItemTemplate mas deu o mesmo erro.
    Alguém tem alguma sugestão.
    Segue o print do erro:


    Grato,
    terça-feira, 9 de abril de 2013 16:03

Respostas

  • Cara,

    Como está o seu problema? 

    Caso não tenha sido resolvido, segue outra opção de concatenar na programação:

    e.Row.Cells[5].Text = "<font color=#ff0000>" + e.Row.Cells[5].Text + "%" + "</font>";


    Atenciosamente, Samuel dos Anjos

    terça-feira, 9 de abril de 2013 23:52

Todas as Respostas

  • usa assim : {0:p} na coluna que vc quer no dataformatstring


    Junior


    • Editado Junior_luiz terça-feira, 9 de abril de 2013 16:56
    terça-feira, 9 de abril de 2013 16:56
  • Não funcionou.
    Não deu erro.
    Amostrou o valor como um número inteiro normalmente.

    Tem mais alguma solução?
    Grato.

    • Editado Fabrício MD terça-feira, 9 de abril de 2013 17:21
    terça-feira, 9 de abril de 2013 17:17
  • como vc esta fazendo trazebdo o valor

    veja esse tutorial que fala tudo sobre gridview

    http://msdn.microsoft.com/pt-br/library/cc518055.aspx


    Junior

    terça-feira, 9 de abril de 2013 17:37
  • Boa tarde Júnior.
    Eu analisei os dados e pelo que vejo é algo na verificação de dados que eu faço uma convesão para double.
    Para aceitar o parametro{0:p}, os dados devem ser inteiros?

    protected void GvGARANTIA_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
    
                if (Convert.ToDouble(e.Row.Cells[5].Text) > 100)
                {
    
                    e.Row.Cells[0].Text = "<font color=#ff0000>" + e.Row.Cells[0].Text + "</font>";
                    e.Row.Cells[1].Text = "<font color=#ff0000>" + e.Row.Cells[1].Text + "</font>";
                    e.Row.Cells[2].Text = "<font color=#ff0000>" + e.Row.Cells[2].Text + "</font>";
                    e.Row.Cells[3].Text = "<font color=#ff0000>" + e.Row.Cells[3].Text + "</font>";
                    e.Row.Cells[4].Text = "<font color=#ff0000>" + e.Row.Cells[4].Text + "</font>";
                    e.Row.Cells[5].Text = "<font color=#ff0000>" + e.Row.Cells[5].Text + "</font>";
    
                }
    
            }
        }
    Grato,
    terça-feira, 9 de abril de 2013 18:50
  • os dados não precisam ser inteiros, veja em qua ponto vc está fazendo a conversão, pode ser isso.

    Junior

    terça-feira, 9 de abril de 2013 19:24
  • sim.

    Eu imaginei.

    Dentro da verificação é feita a conversão.

    obrigado,

    terça-feira, 9 de abril de 2013 19:59
  • Cara,

    Como está o seu problema? 

    Caso não tenha sido resolvido, segue outra opção de concatenar na programação:

    e.Row.Cells[5].Text = "<font color=#ff0000>" + e.Row.Cells[5].Text + "%" + "</font>";


    Atenciosamente, Samuel dos Anjos

    terça-feira, 9 de abril de 2013 23:52
  • Obrigado Samuel.
    A solução era simples e estava na minha frente.
    Deus lhe abençoe.
    quarta-feira, 10 de abril de 2013 12:37