cintiadel 0 Denunciar post Postado Janeiro 24, 2009 tenho uma label dentro do meu gridview, e quero q o texto a ser exibido seja de acordo com o resultado do select. If situacao.HasRows = True Then If CDate(situacao("dtvcto")) < Date.Now Then lbl_situacao.Text = "Em atraso" ElseIf CDate(situacao("dtvcto")) >= Date.Now Then lbl_situacao.Text = "Em aberto" End If End If só q da erro : Name "lbl_situacao" is not declared mas se eu coloco fora do gridview, um label n tenho esse problema. só q eu preciso q apareça dentro do grid, alguem sabe como faço? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Janeiro 25, 2009 Por acaso este Label esta dentro de um ItemTemplate? Se estiver como eu ja te disse trabalhar com itemTemplate não é tão simples assim. Espero respostas. Abraços.. Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 26, 2009 Por acaso este Label esta dentro de um ItemTemplate? Se estiver como eu ja te disse trabalhar com itemTemplate não é tão simples assim. Espero respostas. Abraços.. esta sim, tem como coloca-lo um label no grid sem itemtemplate? da pra usar boundfield? Compartilhar este post Link para o post Compartilhar em outros sites
rsegovia 0 Denunciar post Postado Janeiro 26, 2009 você vai trabalhar no RowDataBound do grid. Seu código vai ficar +/- assim ((Label)e.Row.Cells[COLUMN_NUMBER].Controls[0]).text = "xxxxxxxxxxxxx"; Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 26, 2009 você vai trabalhar no RowDataBound do grid. Seu código vai ficar +/- assim ((Label)e.Row.Cells[COLUMN_NUMBER].Controls[0]).text = "xxxxxxxxxxxxx"; você pode dar uma olhada no meu primeiro post como ficaria pq eu n entendi?deixo no itemtemplate o label mesmo? Compartilhar este post Link para o post Compartilhar em outros sites
rsegovia 0 Denunciar post Postado Janeiro 26, 2009 Posso, RowDataBound = Evento é disparado de acordo com o preenchimento do grid e.Row.Cells[0] = 1º coluna do grid, da linha corrente e.Row.Cells[1] = 2º coluna do grid, da linha corrente, e assim por diante. O que você vai fazer, vai preencher em alguma coluna o valor do campo dtvcto, vamos supor que esse valor esteja na coluna 0 e o label na coluna 1 If ((DateTime)e.Row.Cells[0].Text < Date.Now) Then ((Label)e.Row.Cells[1].Controls[0]).text = "Em atraso" Entendeu ? Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 26, 2009 Posso, RowDataBound = Evento é disparado de acordo com o preenchimento do grid e.Row.Cells[0] = 1º coluna do grid, da linha corrente e.Row.Cells[1] = 2º coluna do grid, da linha corrente, e assim por diante. O que você vai fazer, vai preencher em alguma coluna o valor do campo dtvcto, vamos supor que esse valor esteja na coluna 0 e o label na coluna 1 If ((DateTime)e.Row.Cells[0].Text < Date.Now) Then ((Label)e.Row.Cells[1].Controls[0]).text = "Em atraso" Entendeu ? tah dando erro no datetime : Datetime is as type and cannot be used as an expression no e.row tah dando: ) expected e syntax error no parentesa antes do label If ((DateTime)e.Row.Cells[1].Text < Date.Now) Then ((lbl_situacao)e.Row.Cells[6].Controls[1]).text = "Em atraso" End If Compartilhar este post Link para o post Compartilhar em outros sites
rsegovia 0 Denunciar post Postado Janeiro 27, 2009 Posso, RowDataBound = Evento é disparado de acordo com o preenchimento do grid e.Row.Cells[0] = 1º coluna do grid, da linha corrente e.Row.Cells[1] = 2º coluna do grid, da linha corrente, e assim por diante. O que você vai fazer, vai preencher em alguma coluna o valor do campo dtvcto, vamos supor que esse valor esteja na coluna 0 e o label na coluna 1 If ((DateTime)e.Row.Cells[0].Text < Date.Now) Then ((Label)e.Row.Cells[1].Controls[0]).text = "Em atraso" Entendeu ? tah dando erro no datetime : Datetime is as type and cannot be used as an expression no e.row tah dando: ) expected e syntax error no parentesa antes do label If ((DateTime)e.Row.Cells[1].Text < Date.Now) Then ((lbl_situacao)e.Row.Cells[6].Controls[1]).text = "Em atraso" End If esse codigo da uma copia do meu em c# com o teu em vb, não copie, ele é somente um exemplo. Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 27, 2009 Converti pra você, mas mesmo assim tah dando erro: If ((CType(e.Row.Cells(1).Text, DateTime) < Date.Now)) Then (CType(e.Row.Cells(6).Controls(1), lbl_situacao)).text = "Em atraso" End If Está dando erro agora no e.Row : " Row is not a member of System.EventsArgs E syntax error no primeiro parenteses da segunda linha... n to conseguindo.... Compartilhar este post Link para o post Compartilhar em outros sites
rsegovia 0 Denunciar post Postado Janeiro 27, 2009 Como é VB, nao sei a variavel que ele cria qndo você adiciona um evento ao componente, no c# ele cria isso protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e) Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Janeiro 27, 2009 Como é VB, nao sei a variavel que ele cria qndo você adiciona um evento ao componente, no c# ele cria isso protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e) Protected Sub grdView_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdView.RowDataBound eu tava colocando no load da pagina mas mesmo assim da erro syntax error no primeiro parenteses da 2 linha Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 4, 2009 você ta colocando essa linha: protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e) No Load da página? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Fevereiro 4, 2009 você ta colocando essa linha: protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e) No Load da página? Abraços... nao esse é o eventoeu tava colocando antes, mas ja concertei. agora ta dando erro no primeiro parenteses da linha em vermelho dizendo erro de sintaxe Protected Sub gvw_boleto_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvw_boleto.RowDataBound If ((CType(e.Row.Cells(1).Text, DateTime) < Date.Now)) Then ((CType(e.Row.Cells(6).Controls(1), lbl_situacao)).text = "Em atraso" End If End Sub Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 4, 2009 Não posso testar seu código agora, mas essa conversão esta errada. Esta tentando converter para lbl_situacao. Você deve converter para Label. ((CType(e.Row.Cells(6).Controls(1), Label)).text = "Em atraso" Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Fevereiro 4, 2009 Não posso testar seu código agora, mas essa conversão esta errada. Esta tentando converter para lbl_situacao. Você deve converter para Label. ((CType(e.Row.Cells(6).Controls(1), Label)).text = "Em atraso" Abraços... na verdade quero exibir num label dentro do gridview a frase em atraso ou em aberto de acordo com a data do vencimento Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 6, 2009 O código que eu postei não deu certo? O que aconteceu? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Fevereiro 7, 2009 O código que eu postei não deu certo? O que aconteceu? Abraços... mesmo substituindo onde esta lbl_situacao por Label como disse continua com o mesmo erro, eu coloquei lbl_situacao pq é o nome do label syntax error no primeiro parenteses da 2 linha Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Fevereiro 8, 2009 Vou postar a solução em C# pois não manjo nada de VB. protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e) { Label lbl_situacao = (Label)e.Row.FindControl("lbl_situacao"); // Aqui voce pega o label lbl_situacao.Text = "Oi!" } Veja se funciona. Att, Guilherme Oenning Compartilhar este post Link para o post Compartilhar em outros sites
cintiadel 0 Denunciar post Postado Fevereiro 9, 2009 Vou postar a solução em C# pois não manjo nada de VB. protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e) { Label lbl_situacao = (Label)e.Row.FindControl("lbl_situacao"); // Aqui voce pega o label lbl_situacao.Text = "Oi!" } Veja se funciona. Att, Guilherme Oenning o erro mudou agora: 'A conversão da seqüência de caracteres 'Data de Vencimento' no tipo 'Date' não é válida.' Esse data de Vencimento é o header da coluna, se eu coloco uma data no header da coluna mostra outro erro:Referência de objeto não definida para uma instância de um objeto. Protected Sub gvw_View_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvw_View.RowDataBound Dim lbl_situacao As Label = CType(e.Row.FindControl("lbl_situacao"), Label) If ((CType(e.Row.Cells(1).Text, DateTime) < Date.Now)) Then lbl_situacao.Text = "Em atraso" ElseIf ((CType(e.Row.Cells(1).Text, DateTime) > Date.Now)) Then lbl_situacao.Text = "Em aberto" End If End Sub Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Fevereiro 9, 2009 protected void grdView_RowDataBound(object sender, GridViewRowEventArgs e) { [b]if (e.Row.RowType == DataControlRowType.DataRow)[/b] { Label lbl_situacao = (Label)e.Row.FindControl("lbl_situacao"); // Aqui voce pega o label lbl_situacao.Text = "Oi!" [b]}[/b] } Deu erro porque ele está tentando pegar o Header e transformar em Data, com a condição que inseri, ele só vai fazer a conversão nas linhas que não são heades/footer. Att, Guilherme Oenning. Compartilhar este post Link para o post Compartilhar em outros sites