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

Elek

Help...

1 mensagem neste tópico

olá... bem agora a ideia é outra muito semelhante... A ideia é ao clicar mais do que uma vez no mesmo produto ele em vez de fazer:

banana    1      1€

banana    1      1€

banana    1      1€

faz:

bananas    3       3€

o que eu quero que faça é o que indica o segundo exemplo, e para tal uso o seguinte código:

   Sub ObterPrecoDaDesignacao(ByVal design As String)
        Dim preco As String = ""

        Dim sql1 As String = "Select PrecoCIva from Produtos Where Designacao = '" & design & "' "

        Dim strConn As String = My.Settings.frutariaaConnectionString1
        Dim con As New SqlConnection
        con.ConnectionString = strConn
        con.Open()

        Dim cmd As SqlCommand = New SqlCommand

        cmd.Connection = con
        cmd.CommandType = CommandType.Text
        cmd.CommandText = sql1

        Dim rdr As SqlDataReader
        rdr = cmd.ExecuteReader
        While (rdr.Read())
            preco = CStr(rdr.GetValue(0))
        End While

        rdr.Close()
        con.Close()

        ' Create an unbound DataGridView by declaring a column count.
        DataGridView1.ColumnCount = 3
        DataGridView1.ColumnHeadersVisible = True

        ' Set the column header names.
        DataGridView1.Columns(0).Name = "Designação"
        DataGridView1.Columns(1).Name = "Quant"
        DataGridView1.Columns(2).Name = "Preço"

        ' Populate the rows.
        Dim row1() As String = {design, "1", preco}
        Dim rows() As Object = {row1}

        Dim rowArray As String()


        'For Each rowArray In rows
        '    DataGridView1.Rows.Add(rowArray)
        'Next rowArray

        Dim encontrou As Boolean


        For Each rowArray In rows
            For Each col As DataGridViewRow In DataGridView1.Rows
                If rowArray(0) = col.Cells(0).Value Then
                    col.Cells(1).Value += 1
                    col.Cells(2).Value += rowArray(1)
                    encontrou = True
                Else
                DataGridView1.Rows.Add(rowArray)
                    encontrou = False

                End If

            Next

        Next rowArray

isto estava a funcionar quando dava o output do primeiro exemplo, agora modifiquei assim o código para que desse o output do segundo exemplo, mas não está a dar... até posso carregar 1000 vezes em variados produtos, que ele agora nem preenche nada...

Se alguém me puder ajudar, agradeço...

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