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

Luis Marques

valor maximo numa datagrid

13 mensagens neste tópico

Boas pessoal, preciso de fazer tipo um select para ver o valor maximo numa datagridview, ou seja se o valor maximo que la está se é 1,2, ou 3, etc...

Já tive a pesquisar mas não achei nada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto?

Dim var As Integer = ContactosDataGridView.RowCount

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao sei, nao faço mesmo ideia de como isso se faz! isso é o indicado para ver o valor maximo? eu queria que me devolve se para o textbox.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

é assim eu tenho uma datagrid, com items, onde uma coluna tem o numero de items, item 1, item 2 etc... e quero ver o valor valor maximo do item que la tiver, por exemplo se o maior numero for 5, enviar para uma textbox o numero 5.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Private Function getMaxDataGridViewValue(ByVal columnNumber As Integer, ByVal aDataGridView As DataGridView) As String



Dim maxValue As Double = 0

Dim count As Integer = 0

count = aDataGridView.RowCount

For row = 1 To count

If aDataGridView.Item(columnNumber, row).Value > maxValue Then

maxValue = aDataGridView(columnNumber, row).Value

End If

Next

Return maxValue.ToString

End Function

End Class

depois fazes isto
testbox1.text=getMaxDataGridViewValue(1, DataGridView1)  -onde 1 e a tua coluna que queres o maximo do valor

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tame a dar erro aqui: If aDataGridView.Item(columnNumber, row).Value > maxValue Then

Erro: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a ir para um index de coluna que não existe, se bem me lembro as colunas e as linhas começam em ZERO e não em Um, e terminam em N-1.

Como tens o ciclo for de 1 a N, cais fora do array.

Experimenta fazer:

If aDataGridView.Item(columnNumber, row -1 ).Value > maxValue

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

assim já nao está a dar erro!

Nao me esta é a enviar o maximo valor, está a mostrar o valor 0

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta lá assim substituindo o zero (row.Cells(0).Value) pelo index ou nome da tua coluna.

    Private Function getMaximumValue() As Integer
        Dim result As Integer = 0

        Try

            ' Ciclo em todas as linhas
            For Each row As DataGridViewRow In Me.DataGridView1.Rows
                If Not row.IsNewRow Then

                    ' Verifica se o valor é superior ao actual
                    If row.Cells(0).Value > result Then
                        result = row.Cells(0).Value
                    End If

                End If
            Next

            Return result

        Catch ex As Exception
            Return 0
        End Try

    End Function

Depois utilizas:

Me.TexBox1.Text = getMaximumValue()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Resultou....

Tou só aqui com mais um problema, que é ao actualizar, ao actualizar guarda todos menos o item com o numero mais baixo, ou seja, em vez de guardar 2,3,4,5 guarda apenas o 3,4,5. Alguem sabe doque poderá ser?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tou só aqui com mais um problema, que é ao actualizar, ao actualizar guarda todos menos o item com o numero mais baixo, ou seja, em vez de guardar 2,3,4,5 guarda apenas o 3,4,5. Alguem sabe doque poderá ser?

Não entendi nada!

Explica melhor, cria um novo tópico e mostra o código que estás a utilizar.

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