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

Luis Marques

valor maximo numa datagrid

Recommended Posts

Luis Marques

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.


LM

Share this post


Link to post
Share on other sites
scorch

Isto?

Dim var As Integer = ContactosDataGridView.RowCount


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Luis Marques

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.


LM

Share this post


Link to post
Share on other sites
Luis Marques

é 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.


LM

Share this post


Link to post
Share on other sites
esquima

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

Share this post


Link to post
Share on other sites
Luis Marques

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


LM

Share this post


Link to post
Share on other sites
nokPT

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


Ricardo Timóteo

Share this post


Link to post
Share on other sites
Luis Marques

assim já nao está a dar erro!

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


LM

Share this post


Link to post
Share on other sites
jpaulino

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()

Share this post


Link to post
Share on other sites
Luis Marques

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?


LM

Share this post


Link to post
Share on other sites
jpaulino

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.