cintiadel 0 Denunciar post Postado Abril 3, 2009 quero exibir num label dentro de grid as mensagens abaixo, de acordo com o status tbm exibido no grid. mas n esta exibindo msg nenhuma o q há de errado com o codigo Dim lbl_observacoes As Label = CType(e.Row.FindControl("lbl_observacoes"), Label) If e.Row.RowType = DataControlRowType.DataRow Then conexao.Open() comando.Connection = conexao comando.CommandText = "Select status from tabela where ra='" & Session("ra") & "'" obs = comando.ExecuteReader() While obs.Read() If (e.Row.Cells(3).Text = "Não Pago") Then lbl_observacoes.Text = "O pagamento ainda não foi realizado" ElseIf (e.Row.Cells(3).Text = "Pago") Then lbl_observacoes.Text = "O pagamento foi realizado, seu pedido está sendo processado." ElseIf (e.Row.Cells(3).Text = "Pronto") Then lbl_observacoes.Text = "Seu documento está pronto" ElseIf (e.Row.Cells(3).Text = "Retirado") Then lbl_observacoes.Text = "Este documento já foi retirado." End If End While End If conexao.Close() Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Abril 3, 2009 Ja testou esse código? O código entra dentro de algum if? Esta dentro de algum evento da grid? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 3, 2009 Ja testou esse código? O código entra dentro de algum if? Esta dentro de algum evento da grid? Abraços... ele esta dentro do evento RowDataBound do gridele chega a entrar no if, mas é como se nenhuma condição fosse satisfeita, então ele exibe o label em branco; Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Abril 3, 2009 Este artigo mostra justamente o que esta fazendo: http://msdn.microsoft.com/en-us/library/aa479353.aspx Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 4, 2009 Este artigo mostra justamente o que esta fazendo: http://msdn.microsoft.com/en-us/library/aa479353.aspx Abraços... eu só quero q me ajudem a corrigir esta linha: If (e.Row.Cells(3).Text = "Não Pago") Thenpq ja fiz isso em uma outra página e deu certo, so que o campo era date e comparava com a data de hj.la eu fiz desta forma para comparar If ((CType(e.Row.Cells(2).Text, DateTime) < Date.Now)) Thenagora preciso comparar com o que está escrito que seria no caso de estar escrito "Não Pago" nessa coluna ele me exibisse no label da outra coluna a mensagem: "O pagamento ainda não foi realizado" e assim por diante Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Abril 4, 2009 Cintia nem sempre conseguimos identificar um erro somente olhando os códigos aqui no fórum, e nem sempre temos tempo de copiar o código e testar. Por isso é bem mais simples indicar um artigo que mostra justamente o que esta fazendo, ae basta você estudar seu código. Mas se desta forma não serve para você, tudo bem. Já debugou para ver qual o valor do Text? Provavelmente como tem acento na palavra "Não" ele deve estar convertendo para HTML. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 4, 2009 Você fez uma consulta no banco para retornar o valor "status", mas não está usando em lugar algum. Você está comparando o valor que está na grid com "Não Pagou", não deveria ser com o retorno da consulta? Siga a sugestão do quintelab, use o Debug, vai resolver muito dos seus problemas. Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 6, 2009 Você fez uma consulta no banco para retornar o valor "status", mas não está usando em lugar algum. Você está comparando o valor que está na grid com "Não Pagou", não deveria ser com o retorno da consulta? Siga a sugestão do quintelab, use o Debug, vai resolver muito dos seus problemas. se o meu codigo esta exatamente igual ao que eu postei, mas comparando com um campo do grid onde é preenchido uma data, ele funciona corretamente. só que n consigo de forma alguma comparar com um texto que esteja sendo preenchido na coluna do grid. While obs.Read() If ((CType(e.Row.Cells(1).Text, DateTime) < Date.Now)) Then lbl_observacoes.Text = "O pagamento ainda não foi realizado" ElseIf ((CType(e.Row.Cells(1).Text, DateTime) >= Date.Now)) Then lbl_observacoes.Text = "O pagamento foi realizado, seu pedido está sendo processado." End If End While preciso de algo assim, mas deve ter algo errado pq entra no if mas n joga nda para o label While obs.Read() If ((CType(e.Row.Cells(2).Text, String) = "Não Pago")) Then lbl_observacoes.Text = "O pagamento ainda não foi realizado" ElseIf ((CType(e.Row.Cells(2).Text, String) = "Pago")) Then lbl_observacoes.Text = "O pagamento foi realizado, seu pedido está sendo processado." End If End While End If Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 6, 2009 asssim ele funcionou: While obs.Read() If ((CType(e.Row.Cells(3).Text, String) = "Não Pago ")) Then lbl_observacoes.Text = "O pagamento ainda não foi realizado" ElseIf ((CType(e.Row.Cells(3).Text, String) = "Pago ")) Then lbl_observacoes.Text = "O pagamento foi realizado, seu pedido está sendo processado." End If End Whilemas preciso resolver problema com espaço e tbm com acento podem me ajudar, o problema o tempo todo era esseOBS:Quando eu posto ele corrigi a acentuação da palavra não, mas no meu código aparece codificado o acento eu verifiquei a query de insert e nela n tem nenhum espaço na hora da inserção. segue ela: Insert into tabela (campo1,campo2,campo3,campo4,campo5,campo6,campo7) values ('B00001','00001','Serviço1','','35,50','6/4/2009 11:59:05','Não Pago') será q é algum erro na banco? que está colocando espaço???? Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 6, 2009 Para remover os espaços, faça uma comparação usando Trim(); Assim: If ((CType(e.Row.Cells(3).Text, String).Trim() = "Não Pago")) Then Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 6, 2009 Para remover os espaços, faça uma comparação usando Trim(); Assim: If ((CType(e.Row.Cells(3).Text, String).Trim() = "Não Pago")) Then e qto a palavra não q ele zoa toda por causa da acentuação?no banco ela esta correta Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 6, 2009 Na tela aparece desformatado? QUando você debuga, qual o valor da expressão: (CType(e.Row.Cells(3).Text, String).Trim()? Ela vem com ou sem acento? Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 6, 2009 Na tela aparece desformatado? QUando você debuga, qual o valor da expressão: (CType(e.Row.Cells(3).Text, String).Trim()? Ela vem com ou sem acento? ele vem com uns codigos estranhos, tipo codificado sabe Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Abril 6, 2009 Como esta chapado no seu código: "Não Pago", você pode muito bem copiar a forma com que ele esta retornando e substituir o "Não Pago". Mas antes tente o seguinte: If (HttpUtility.HtmlDecode((CType(e.Row.Cells(3).Text, String).Trim()) = "Não Pago")) Then Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 7, 2009 Como esta chapado no seu código: "Não Pago", você pode muito bem copiar a forma com que ele esta retornando e substituir o "Não Pago". Mas antes tente o seguinte: If (HttpUtility.HtmlDecode((CType(e.Row.Cells(3).Text, String).Trim()) = "Não Pago")) Then Abraços... não funcionou dessa forma Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Abril 7, 2009 Tenho que testar com calma, a forma mais rápida é trocar o "Não Pago" pela forma que ele esta vindo. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Abril 9, 2009 Tenho que testar com calma, a forma mais rápida é trocar o "Não Pago" pela forma que ele esta vindo. Abraços... por enquanto vou deixar assim, mas qdo testar poste pra mim por favor.desde ja agradeço mais uma vez a atenção Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Maio 7, 2009 Tenho que testar com calma, a forma mais rápida é trocar o "Não Pago" pela forma que ele esta vindo. Abraços... consegui descobrir como eu posso fazer pra passar corretamente??? Compartilhar este post Link para o post Compartilhar em outros sites