AJUDA COM LISTVIEW NO VB 2010E

EDJANDEOLIVEIRA 02/08/2013 17:49:11
#426961

Para cada intervalo de ano na primeira listview, como pegar o maximo valor de cada intervalo de ano deste e colocar na segunda listview ?
Gostaria que a segunda listview ficasse assim:
1964 | 127.1
1965 | 138.4
.....


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-prn2/969258_518990881507486_1996661557_n.jpg
ASHKATCHUP 02/08/2013 17:52:03
#426962
Bah cara, explica melhor isso.

Que tipos de dados a primeira listview armazena?
EDJANDEOLIVEIRA 03/08/2013 08:42:50
#426965
Foi mal, abaixo segue o código. O tipo de dados creio que seja string

Public Class Form1
Public n As Integer = 0

Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImporta.Click
[ô]Dim abrir As New OpenFileDialog
[ô]abrir.Filter = [Ô]Textos|*.txt[Ô]
[ô]abrir.ShowDialog()
Try
Using leitor As New Microsoft.VisualBasic.FileIO.TextFieldParser([Ô]C:\Users\EDJAN\Desktop\CHUVAS.TXT[Ô])
[ô]Informamos que será importado com Delimitação
leitor.TextFieldType = FileIO.FieldType.Delimited
[ô]Informamos o Delimitador
leitor.SetDelimiters([Ô];[Ô])
[ô]Captura cada valor de data e precipitação do arquivo ANA
Do Until leitor.EndOfData
Dim ColunaAtual As String()
ColunaAtual = leitor.ReadFields()
Dim teste As String = ColunaAtual(0)
[ô]verifica o primeiro caracter de cada linha e so o coleta os dados se este for numérico
If IsNumeric(Mid(teste, 1, 1)) Then
lvAnoMaxima.Items.Add(Mid(ColunaAtual(2), 7, 4)) [ô]ano
lvAnoMaxima.Items(n).SubItems.Add(ColunaAtual(4)) [ô]precipitação
n = n + 1
End If
Loop
[ô]MsgBox([Ô]Arquivo Importado com Sucesso![Ô])
End Using

Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox([Ô]Problemas com o formato banco de dados.[Ô], MsgBoxStyle.Exclamation, [Ô]:([Ô])
End Try
[ô]btnImporta.Enabled = False
End Sub

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFiltra.Click
[ô]--------------------calcula a maxima anual-----------------[ô]


End Sub
End Class
ASHKATCHUP 03/08/2013 11:42:16
#426967
Resposta escolhida
Pelo que entendi do teu código, a listview guardará dados da seguinte maneira:


1990
-10
-20
-30

1991
-22
-23
-25


é isso? Posta um print da tela com os dados carregados, só pra saber como estão na tela.
EDJANDEOLIVEIRA 03/08/2013 18:48:05
#426987
Não pow, a listview guarda do jeito que está na foto.. eu quero que a partir dos dados da primeira listview eu possa selecionar o maior valor para cada intervalo de ano que esta na primeira listview, de forma que na segunda listview fique apenas um maximo valor para cada ano.. conforme coloquei na descrição.. :/

Obrigado!
ASHKATCHUP 06/08/2013 11:23:04
#427073
Mestre, existem inúmeras maneiras de fazer o que tu procura.

Eu escolhi um método fácil, até pq não manjo muito de VB.net (eu uso C#).

Fiz o exemplo (anexo) comentando o código, para te ajudar a entender o motivo de cada linha.

Ve se te ajuda.

Abraço!
EDJANDEOLIVEIRA 09/08/2013 07:12:15
#427307
Perfeito ASHKATCHUP!
Só tem voce aqui.
EDJANDEOLIVEIRA 13/08/2013 10:28:40
#427455
Só mais uma dúvida, caso eu queira calcular a soma total e a média dos valores é simples ou é algum código mais arrojado como o último?
ASHKATCHUP 13/08/2013 10:48:01
#427457
Eh tu quem decide, mestre.

Da para varrer a lista de dados (lstDados) e somar os valores/calcular a media.

Eu fiz o exemplo [Ô]bonitinho[Ô] pra organizá-lo. Mas não seria necessário usar classes ou listas para fazer o calculo.

Tudo depende do teu conhecimento de programação =)
EDJANDEOLIVEIRA 13/08/2013 12:33:42
#427466
Nivel iniciante :p kkkkk
é por que eu sou acostumado a fazer com for next

Soma = 0
For i = 1 To 20
Soma = Soma + PMax(i)
Next

Gostaria de saber se tem como fazer isso..
para cada loop que ele der, eu adiciono mais um valor a soma.

Obrigado!
EDJANDEOLIVEIRA 13/08/2013 13:21:14
#427470
Eu consegui, usei o mesmo código que vc usou para varrar a primeira listview e varri a segunda!!!!!!!!!!
OBRIGADO
Vou colocar seu nome nos agradecimentos do meu TCC!! rsrsrs
OBRIGADO DE NOVO!
Tópico encerrado , respostas não são mais permitidas