COMO VINCULAR MSCHART A UM LISTVIEW OU MSFLEXGRID
Alguém poderia me ajudar ??? estou querendo vincular um gráfico do mschart a um listview ou um msflexgrid ...
vc que os dados de um grid ou listView tenha representações gráficas com o MSChart. é isso?
Sim... tenho uma listview e quero registrar os dados em uma mschart : estou anexando meu código ...
Uma explicação plausÃvel.
Quantas linhas vai ter esse Listview,
Vai ter valores diversos.
Já parou para pensar se tiver 10000 ou mais linhas.
Quantas linhas vai ter esse Listview,
Vai ter valores diversos.
Já parou para pensar se tiver 10000 ou mais linhas.
Tenho esse código que a cada segundo do cronometro , preenche os dados que estão nos textbox[ô]s em uma linha do listview .. preciso criar um gráfico dinâmico que conforme a listview vai preenchendo o gráfico vai atualizando os dados .
Dim s As Integer
Dim m As Integer
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Private Sub Command3_Click()
s = 0
m = 0
Label4 = 0
Label5 = 0
ListView1.ListItems.Clear
End Sub
Private Sub Timer1_Timer()
ListView1.ListItems.Add(1).Text = Text1.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text2.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text3.Text
s = s + 1
Label5 = s
If s = 60 Then
m = m + 1
Label4 = m
s = 0
End If
If s = 30 Then
Timer1.Enabled = False
End If
End Sub
Dim s As Integer
Dim m As Integer
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
Private Sub Command3_Click()
s = 0
m = 0
Label4 = 0
Label5 = 0
ListView1.ListItems.Clear
End Sub
Private Sub Timer1_Timer()
ListView1.ListItems.Add(1).Text = Text1.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text2.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text3.Text
s = s + 1
Label5 = s
If s = 60 Then
m = m + 1
Label4 = m
s = 0
End If
If s = 30 Then
Timer1.Enabled = False
End If
End Sub
tenta isso to sem vb não poderei testar mas creio funcionar, após seu código, no timer, coloque o código abaixo como descrevo
ListView1.ListItems.Add(1).Text = Text1.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text2.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text3.Text
MSChart1.chartType = VtChChartType2dLine
MSChart1.ColumnCount = 1
MSChart1.RowCount = 3
MSChart1.TitleText = [Ô]Meu grafico[Ô]
MSChart1.Row = 1 [ô] primeira linha
MSChart1.Data = CLng(Text1.Text)
MSChart1.RowLabel = Text1.Text
MSChart1.Row = 2
MSChart1.Data = CLng(Text2.Text)
MSChart1.RowLabel = Text2.Text
MSChart1.Row = 3
MSChart1.Data = CLng(Text3.Text)
MSChart1.RowLabel = Text3.Text
ListView1.ListItems.Add(1).Text = Text1.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text2.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text3.Text
MSChart1.chartType = VtChChartType2dLine
MSChart1.ColumnCount = 1
MSChart1.RowCount = 3
MSChart1.TitleText = [Ô]Meu grafico[Ô]
MSChart1.Row = 1 [ô] primeira linha
MSChart1.Data = CLng(Text1.Text)
MSChart1.RowLabel = Text1.Text
MSChart1.Row = 2
MSChart1.Data = CLng(Text2.Text)
MSChart1.RowLabel = Text2.Text
MSChart1.Row = 3
MSChart1.Data = CLng(Text3.Text)
MSChart1.RowLabel = Text3.Text
Marcelo ,
Tentei seu código , mas não é exatamente isso que procuro ...
O Text1.Text é uma variável = Vazão
O Text2.Text é uma variável = Pressão
O Text3.Text é uma variável = Temperatura
Também tenho uma outra Text4.Text que coloquei o segundo do cronômetro ....
Quero coletar os dados desses três : Text1.Text , Text2.Text , Text3.Text de segundo em segundo e jogar no Gráfico ....então o eixo X = tempo e Y = Variáveis ...
Tentei seu código , mas não é exatamente isso que procuro ...
O Text1.Text é uma variável = Vazão
O Text2.Text é uma variável = Pressão
O Text3.Text é uma variável = Temperatura
Também tenho uma outra Text4.Text que coloquei o segundo do cronômetro ....
Quero coletar os dados desses três : Text1.Text , Text2.Text , Text3.Text de segundo em segundo e jogar no Gráfico ....então o eixo X = tempo e Y = Variáveis ...
Vou fazer um projeto simples para ter uma noção.
Espere.
Espere.
Código completo que eu tenho :
Dim s As Integer
Dim m As Integer
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
_______________________________________________________________
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
_______________________________________________________________
Private Sub Command3_Click()
s = 0
m = 0
Label4 = 0
Label5 = 0
Text1.Text = [Ô][Ô]
Text2.Text = [Ô][Ô]
Text3.Text = [Ô][Ô]
Text4.Text = [Ô][Ô]
ListView1.ListItems.Clear
End Sub
___________________________________________________________________________________________
Private Sub Timer1_Timer()
Text4.Text = s + 1
ListView1.ListItems.Add(1).Text = Text4.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text1.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text2.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text3.Text
s = s + 1
Label5 = s
If s = 60 Then
m = m + 1
s = 0
Label4 = m
s = 0
End If
If s = 30 Then
Timer1.Enabled = False
End If
End Sub
______________________________________________________________________
Private Sub Command4_Click()
Dim xlApp As Object
Dim xlWb As Object
Dim xlWs As Object
Set xlApp = CreateObject([Ô]Excel.Application[Ô])
Set xlWb = xlApp.Workbooks.Add
Set xlWs = xlWb.Worksheets(1)
xlApp.Visible = True
xlApp.UserControl = True
Dim linha As Integer
linha = 1
For i = 2 To ListView1.ListItems.Count
xlWs.Cells(i, 1).Value = ListView1.ListItems(i).Text
xlWs.Cells(i, 2).Value = ListView1.ListItems(i).SubItems(1)
xlWs.Cells(i, 3).Value = ListView1.ListItems(i).SubItems(2)
xlWs.Cells(i, 4).Value = ListView1.ListItems(i).SubItems(3)
Next
End Sub
Dim s As Integer
Dim m As Integer
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
_______________________________________________________________
Private Sub Command2_Click()
Timer1.Enabled = False
End Sub
_______________________________________________________________
Private Sub Command3_Click()
s = 0
m = 0
Label4 = 0
Label5 = 0
Text1.Text = [Ô][Ô]
Text2.Text = [Ô][Ô]
Text3.Text = [Ô][Ô]
Text4.Text = [Ô][Ô]
ListView1.ListItems.Clear
End Sub
___________________________________________________________________________________________
Private Sub Timer1_Timer()
Text4.Text = s + 1
ListView1.ListItems.Add(1).Text = Text4.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text1.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text2.Text
ListView1.ListItems.Item(1).ListSubItems.Add.Text = Text3.Text
s = s + 1
Label5 = s
If s = 60 Then
m = m + 1
s = 0
Label4 = m
s = 0
End If
If s = 30 Then
Timer1.Enabled = False
End If
End Sub
______________________________________________________________________
Private Sub Command4_Click()
Dim xlApp As Object
Dim xlWb As Object
Dim xlWs As Object
Set xlApp = CreateObject([Ô]Excel.Application[Ô])
Set xlWb = xlApp.Workbooks.Add
Set xlWs = xlWb.Worksheets(1)
xlApp.Visible = True
xlApp.UserControl = True
Dim linha As Integer
linha = 1
For i = 2 To ListView1.ListItems.Count
xlWs.Cells(i, 1).Value = ListView1.ListItems(i).Text
xlWs.Cells(i, 2).Value = ListView1.ListItems(i).SubItems(1)
xlWs.Cells(i, 3).Value = ListView1.ListItems(i).SubItems(2)
xlWs.Cells(i, 4).Value = ListView1.ListItems(i).SubItems(3)
Next
End Sub
Tirado do site macoratti onde modifiquei em dois projetos.
Com graph e mschart.
Verifica e ver o que pode aproveitar.
Com graph e mschart.
Verifica e ver o que pode aproveitar.
Mandei Vb6 cabra.
O seu é Excel.
O seu é Excel.
Tópico encerrado , respostas não são mais permitidas