Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

caezar

Problema em retomar valor de Label em Campo Template no GridView

Recommended Posts

Boa noite amigos!

 

Estou tendo um problema com esse código:

 

For Each item As GridViewRow In Me.GridView3.Rows
      If item.RowType = DataControlRowType.DataRow Then
        Dim GM As TextBox = DirectCast(item.FindControl("TextBox3"), TextBox)
        Dim GV As TextBox = DirectCast(item.FindControl("TextBox4"), TextBox)
        Dim codJ As Label = DirectCast(item.FindControl("JogoCod"), Label)
        strSQL = "Select * from tblAposta Where codJogo=@codJogo AND codUser=@codUser"
        Cmd = New OleDbCommand(strSQL, MyConn)
        Cmd.Parameters.Add(New OleDbParameter("@codJogo", codJ.Text))
        Cmd.Parameters.Add(New OleDbParameter("@codUser", Session("COD_USUARIO")))
        objDR = Cmd.ExecuteReader(CommandBehavior.CloseConnection)
        
        If objDR.Read() Then
          
          sqlQ = "UPDATE tblAposta SET GolsM =" & GM.Text & ", [GolsV] =" & GV.Text & " WHERE codJogo = " & codJ.Text & " and codUser=" & Session("COD_USUARIO")
        
        Else
          
          sqlQ = "Insert Into tblAposta (codJogo,codUser,GolsM,[GolsV]) Values(" & codJ.Text & "," & Session("COD_USUARIO") & "," & GM.Text & "," & GV.Text & ")"

        End If
        If GM.Text <> "" And GV.Text <> "" Then
          Dim Cmd1 As New OleDbCommand(sqlQ, MyConn)
          Cmd1.ExecuteNonQuery()
        End If
      End If
    Next
Quando vou retomar o valor da label JogoCod que no Grid é preenchida, não consigo. Porem se no campo template onde esta a label no grid eu ponho um textBox e mudo a linha abaixo tudo funciona:

 

Dim codJ As TextBox = DirectCast(item.FindControl("TextBox5"), TextBox)

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que quando ele renderiza na tela deixa de ser uma label, se torna um texto HTML normal.

Você pode trabalhar em um CSS para remover as bordas do Textbox.

 

Abraços...

 

Faz muito sentido isso que você falou, na realidade só me resta esta explicação! rssss

você pode me dar um exemplo de como tirar a borda??

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que quando ele renderiza na tela deixa de ser uma label, se torna um texto HTML normal.

Você pode trabalhar em um CSS para remover as bordas do Textbox.

 

Abraços...

 

Fiz o que você disse, mas ai tive um outro problema.

Quando ponho o textbox ele funciona perfeitamente, porem preciso desbilita-lo para que o usuário não possa alterar o código. Quando faço isso, acontece o mesmo problema da label! rsss

 

Ta duro! HELP MEEEEEEEE! rsss

 

Valeu amigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando coloca ele como ReadOnly ou Enable não le mais o valor? É isso?

 

Abraços...

 

Coloquei enabled e ele não retomou mais o valor!

Que coisa! rsssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes eu retomava o valor assim:

 

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim strSQL As String
        Dim MyConn As OleDbConnection
        Dim objDR As OleDbDataReader
        Dim Cmd As OleDbCommand
        Dim sqlQ As String
        Dim grupo As String
        

        MyConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("./App_Data/Bd_Bolao.mdb"))
        MyConn.Open()
        
        
        For Each item As GridViewRow In Me.GridView3.Rows
            If item.RowType = DataControlRowType.DataRow Then
                Dim GM As TextBox = DirectCast(item.FindControl("TextBox3"), TextBox)
                Dim GV As TextBox = DirectCast(item.FindControl("TextBox4"), TextBox)
                Dim codJ As String = item.Cells(0).Text
                strSQL = "Select * from tblAposta Where codJogo=@codJogo AND codUser=@codUser"
                Cmd = New OleDbCommand(strSQL, MyConn)
                Cmd.Parameters.Add(New OleDbParameter("@codJogo", codJ))
                Cmd.Parameters.Add(New OleDbParameter("@codUser", Session("COD_USUARIO")))
                objDR = Cmd.ExecuteReader(CommandBehavior.CloseConnection)

O problema é que passei a usar o GridViewHelper para agrupar por data. Desta forma em algumas linhas varia o número da celula na linha que esta o valor do codJogo que quero retomar.

 

Não teria uma outra forma de fazer uma busca deste compo na linha sem ser buscando pela label??

 

Ta dificil!

 

Eu e estes problemas malucos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.