none
Alterar cor de um template(dropdownlist) no gridview RRS feed

  • Pergunta

  • oi pessoal,

    para alterar valor de uma linha eu estou utilizando o seguinte código:

    If e.Row.RowType = DataControlRowType.DataRow Then
                If e.Row.Cells(14).Text = "1" Then
                    e.Row.BackColor = Drawing.Color.Yellow
                End If
            End If


    o problema é quando utilizo template, simplismente não acontece nada na célula que quero modificar a cor..

    Obrigado!

    quinta-feira, 9 de fevereiro de 2012 17:04

Respostas

  • Marcio tenta assim. 


            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (((DropDownList)e.Row.Cells[14].FindControl("DropDownList2")).Text == "1") 
                {
                    e.Row.BackColor = System.Drawing.Color.Aqua;
                }
            }
        


    CASO A RESPOSTA TENHA AJUDADO FAVOR MARCAR COMO RESPONDIDA.

    • Marcado como Resposta marciomh quarta-feira, 29 de fevereiro de 2012 02:36
    terça-feira, 28 de fevereiro de 2012 20:00

Todas as Respostas

  • Template que você diz é um tema , usando o arquivo skin ?


    Vittor Borges

    quinta-feira, 9 de fevereiro de 2012 17:45
  • eu simplismente converto o campo do gridview para template, tem essa opção no próprio asp.net...

    Obrigado!

    quinta-feira, 9 de fevereiro de 2012 18:01
  • Entendi, quando você transforma em template, ele muda a forma de tratar os objetos e o seu .Text não vai funcionar !!


    If e.Row.Cells(14).Text = "1" Then

    tenta usar o .FindControl("idDoControle") para capturar o valor que vc precisa !


    Qual o controle dentro do template ? se for um label vc pode fazer assim ...

    If ((Label)e.Row.Cells(14).FindControl("IdDoObjeto")).Text = "1" Then


    Vittor Borges

    • Sugerido como Resposta Samuel_Cazelli sábado, 11 de fevereiro de 2012 12:52
    quinta-feira, 9 de fevereiro de 2012 18:08
  • Oi Vittor,

    Obrigado pela ajuda, não testei ainda, o controle é um dropdownlist, vou testar segunda...

    Obrigado!

    sábado, 11 de fevereiro de 2012 10:50
  • Vittor, com uma dropdownlist como ficaria? Não consegui fazer funcionar...

    Obrigado!

    segunda-feira, 13 de fevereiro de 2012 17:00
  • Marcio boa tarde,

    Esse dropdown estaria dentro da GriViewr?

    quarta-feira, 15 de fevereiro de 2012 16:42
  • Oi Renan,

    exatamente, dentro da gridview...

    Oabrigado!

    domingo, 19 de fevereiro de 2012 22:14
  • Alguma ajuda Renan?
    Não estou conseguindo a sintax...
    • Editado marciomh terça-feira, 28 de fevereiro de 2012 16:28 obs
    quarta-feira, 22 de fevereiro de 2012 15:26
  • Não consigo acertar o código para uma dropdownlist...
    terça-feira, 28 de fevereiro de 2012 16:30
  • Olá amigo,

    tenho um exemplo em C#, creio que é só adaptar para VB.

     protected void GridView1_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.Cells[0].Text == "2")
                {
                    e.Row.BackColor = System.Drawing.Color.Aqua;
                }
            }
        }


    CASO A RESPOSTA TENHA AJUDADO FAVOR MARCAR COMO RESPONDIDA.

    terça-feira, 28 de fevereiro de 2012 17:44
  • seu código funciona se não tiver um template no gridview, caso tenha exatamente na célula que você quer ai não acontece nada, o colega Vittor me passou esse código:

    If ((Label)e.Row.Cells(14).FindControl("IdDoObjeto")).Text = "1" Then

    porém da erro de sintax

    Obrigado!

    terça-feira, 28 de fevereiro de 2012 19:31
  • Marcio tenta assim. 


            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (((DropDownList)e.Row.Cells[14].FindControl("DropDownList2")).Text == "1") 
                {
                    e.Row.BackColor = System.Drawing.Color.Aqua;
                }
            }
        


    CASO A RESPOSTA TENHA AJUDADO FAVOR MARCAR COMO RESPONDIDA.

    • Marcado como Resposta marciomh quarta-feira, 29 de fevereiro de 2012 02:36
    terça-feira, 28 de fevereiro de 2012 20:00
  • Não precisa usar Row.Cells.... Somente e.Row.FindControl resolve para encontrar o controle. 

    Pelo que estou entendendo você quer a cor da linha, mas na célula que tem o dropdownlist não altera porque você tem que alterar a fonte do controle. É isto?


    Paulo César Viana
    .NET Developer
    MCC - Microsoft Community Contributor
    MCP - Microsoft Certified Professional
    MCTS - Microsoft Certified Technology Especialist
    --
    Marque as respostas e contribua para uma melhora no fórum.

    terça-feira, 28 de fevereiro de 2012 21:22
  • Oi Paulo,

    é o seguinte, tenho uma gridview, nesse gridview tenho template (dropdownlis), quero que altere a cor da linha exatamente conforme informações que venha desse controle (template, dropdownlist), ex: drop = sim cor verde, drop = não cor vermelho...

    é isso ai..Obrigado! 

    quarta-feira, 29 de fevereiro de 2012 02:19
  • NA MOSCA RENAN!
    quarta-feira, 29 de fevereiro de 2012 02:36
  • Beleza, Marcio..

    Abração.


    CASO A RESPOSTA TENHA AJUDADO FAVOR MARCAR COMO RESPONDIDA.

    quarta-feira, 29 de fevereiro de 2012 13:00