Usuário com melhor resposta
Alterar cor de um template(dropdownlist) no gridview

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!
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
Todas as Respostas
-
-
-
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
-
-
-
-
-
-
-
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.
-
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!
-
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
-
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. -
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!
-
-