• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Specialyzed

Construir datagrid dinamicamente

5 mensagens neste tópico

Boas noites a todos  :)

Ora eu preciso aqui de uma ajudinha mt importante!

Na minha pagina .aspx.vb no evento de um botao faço a construçao da minha datagrid com 3 BoundColumns e 2 TemplateColumns.

Os dois TemplateColumns sao para uma checkbox e uma label, a checkbox ja tenho o codigo que vai percorer a grid toda e verificar quais as rows que estao a checked e a templatecolumn do tipo label será para ficar com um resultado que vem de select a BD. Ora neste select faço um cmd.ExecuteScalar e o queria fazer era meter este resultado dentro da minha coluna ( TemplateColumn do tipo Label ).

O que se passa é que nao consigu igualar de maneira nenhuma a minha coluna ao valor do ExecuteScalar  :D:)

Ja passei o valor para um Parameter mas mesmo assim nao da... :wallbash:

Amanha posto aqui o meu codigo para ver se voces me ajudam sff

Ate la uma Optima noite

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas noites!

JPaulinho obrigado mas ja ta reslvido este problema..fiz as 5 datagrid's que preciso em asp.net e uso cada uma quando preciso.

Tenho é outro problema...Na minha datagrid tenho uma coluna com checkbox, quando seleciono as rows que quero com o checked e carrego no botao ( botao este que faz update na minha base de dados ) depois de carregar no botao ele faz o update, mas as rows ficam com as checkboxs selecionadas LOL

Ja tentei fazer um Datagrid.databind () no final mas nao faz o que quero...

Protected Sub btnPorAtrib_Click1(ByVal sender As Object, ByVal e As EventArgs) Handles btnPorAtrib.Click
        Dim conn As New SqlConnection

        Dim strsql As String

        'Dim UserID As String
        'Dim MemUser As MembershipUser

        'MemUser = Membership.GetUser()
        'UserID = MemUser.ProviderUserKey.ToString()

        Dim connstr As String = ConfigurationManager.ConnectionStrings("connection_string_projecto1").ConnectionString

        conn = New SqlConnection(connstr)
        conn.Open()

        Dim cmd2 As New SqlCommand
        Dim strsql2 As String

        cmd2.Connection = conn

        strsql2 = " SELECT  Tec_IDTecnico FROM Tecnicos WHERE Tec_Mail = 'ghghghg@ssss.com'"

        cmd2.CommandText = strsql2
        cmd2.ExecuteScalar()

        Dim valor As String = cmd2.ExecuteScalar.ToString()

        For Each rw As DataGridItem In Me.GridTecA.Items

            Dim ctrl As CheckBox
            Dim ctrl2 As Label

            ctrl = CType(rw.FindControl("checkbox"), CheckBox)
            ctrl2 = CType(rw.FindControl("Erro"), Label)

            If (ctrl.Checked) Then
                Dim cmd As New SqlCommand

                Dim pardata As SqlParameter = cmd.Parameters.Add("@Data", SqlDbType.DateTime)
                pardata.Value = Convert.ToDateTime(Date.Today())

                Dim parhora As SqlParameter = cmd.Parameters.Add("@Hora", SqlDbType.DateTime)
                parhora.Value = Convert.ToDateTime(DateTime.Now.ToLongTimeString())

                strsql = "UPDATE Erros set [Err_Status] = 'A', [Err_DataAtribuida] = @Data, [Err_HoraAtribuida] = @Hora, [Err_IDTecnico] = '" & valor & "' Where Err_IDErro = @ID_Erro"

                Dim par As SqlParameter = cmd.Parameters.Add("@ID_Erro", SqlDbType.Int)
                par.Value = CInt(ctrl2.Text)

                cmd.CommandText = strsql

                cmd.Connection = conn
                cmd.ExecuteNonQuery()


            End If

        Next


        Dim msg1 As String = "Os Erros foram-lhe atribuidos!"
        Response.Write("<script>alert(""" + msg1 + """);</script>")


        conn.Close()
    End Sub

   

Neste evento vai percorrer as minhas rows e verificar quais tao selecionadas mas depois de fazer o update as linhas continuam la na datagrid e com as checkboxs a checked  :confused::D

Ando paqui as voltas com isto LOL

Abraçoo e um mt obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não entendo o teu problema!

Tens dois botões e os dois estão a preencher a grid, mas com base em quê ? Não podes alterar o select statement que preenche a grid ?

Porque estás a fazer dois pedidos ao servidor ?

cmd2.ExecuteScalar()

Dim valor As String = cmd2.ExecuteScalar.ToString()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vou tentar explicar melhor...

Tenho 5 Datagrids, numa seleciono as linhas que quero (meto a checked) depois carrego num botao que irá executar o codigo acima...apos fazer isto a linha que selecionei na grid devera desaparecer e aparecer noutra datagrid percebes?

O que se passa é que eu faço esse procedimento mas depois de efectuar o codigo acima a linha ainda fica na grid a checked...

nao sei se deu para entender melhor...

Quanto ao executescalar() repetido é erro meu  :confused:

Thanks  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora