| |

Fragen & Antworten rund um sev-KomponentensevGraph: Wie am besten viele Graphen miteinander vergleichen? | |  | Autor: Maig | Datum: 18.03.11 13:42 |
| Hi,
ich habe folgendes vor:
Ich habe 2 Flexgrid Tabellen (möchte es später auf ca 6 erweitern) und pro Tabelle 15 Spalten die grafisch dargestellt werden sollen. Die Spalten bestehen aus min 30 bis max 370 Zeilen.
Die x-Achse ist immer die gleiche und ist in jeder Tabelle in der 1.Spalte(Datum).
Jetzt möchte ich in einem Graph die Möglichkeit haben per CheckBox die Spalten auszuwählen welche ich dargestellt haben möchte. Mehr als 15 Graphen werden aber nicht gleichzeitig angezeigt.
Ich habe das jetzt (s. unten) erstmal so realisiert, dass alle Spalten aller Tabellen beim öffnen des Graphen geladen werden und per .SetTransparent = True "unsichtbar" gemacht werden und anschließend per jeweiliger CheckBox auf .SetTransparent = False gesetzt werden, dass man sie sieht.
Das klappt bis jezt auch sehr gut mit 2 Tabellen und insgesamt 30 Spalten. Allerdings bin ich mir nicht sicher ob das die richtige Vorghensweise ist und ob sevGraph, später wenn ich 6 Tabellen laden möchte, so viel überhaupt verarbeiten kann, da nach meinem Verständnis ja alle Graphen geladen werden, und ich mal irgendwo was von 18 Datensets gelesen habe. Die habe ich aber mit 30 Graphen schon überschritten, oder?
Vielleicht gibt es ja da noch eine einfachere oder bessere Methode, das "Problem" hatten doch bestimmt schon mehrere?!
Hier mal ein Code Ausschnitt:
Private Sub ch_33_134_d_Click() '1. CheckBox Tabelle 1
With Graph1
If Me.ch_33_134_d.Value = 0 Then
.SetTransparent(1) = True
Else
.SetTransparent(1) = False
End If
End With
End Sub
'....hier normal CheckBoxen 2-15 von Tabelle 1....
Private Sub ch_44_134_d_Click() '1. CheckBox Tabelle 2
With Graph1
If Me.ch_44_134_d.Value = 0 Then
.SetTransparent(16) = True
Else
.SetTransparent(16) = False
End If
End With
End Sub
'....hier normal CheckBoxen 2-15 von Tabelle 2....
'....erweiterbar auf ca 6 Tabellen?
Private Sub Form_Load()
Me.Caption = Mid(FormMenü.CommonDialog1.FileTitle, 1, Len( _
FormMenü.CommonDialog1.FileTitle) - 4) & " - Enercon E33"
Dim j As Integer
Dim i As Long
With Graph1
' autom. Neuzeichnen ausschalten
.LockUpdate True
' alte Werte löschen
.Clear
' Anzahl Datenreihen (Sets)
.NumSets = 30
'Platzierung der Legende
'.LegendType = gLegendRight
'Diagramm Typ
.GraphType = gLine
'Liniendicke
.LineWidth = gThin
' Gitternetzlinien anzeigen
'.GridLines = 2
' Anzahl Werte festlegen
.Count = FormTab_E33.FGrid1.Rows
' Werte aus Tabellen auslesen und anzeigen
For i = 1 To .Count - 1
' X-Achsenbeschriftung
If .Count - 1 <= 31 Then
For j = 1 To .Count - 1 Step 2
.Data(j).Text = Format(CDate(FormTab_E33.FGrid1.TextMatrix(j, 0)), _
"dd.mmm.")
Next j
ElseIf .Count - 1 > 31 And .Count - 1 <= 120 Then
For j = 1 To .Count - 1 Step 7
.Data(j).Text = Format(CDate(FormTab_E33.FGrid1.TextMatrix(j, 0)), _
"dd.mmm.")
Next j
Else
For j = 1 To .Count - 1 Step 20
.Data(j).Text = Format(CDate(FormTab_E33.FGrid1.TextMatrix(j, 0)), _
"dd.mmm.")
Next j
End If
'Datensetnr. 1 Tabelle 1
.CurSet = 1
.Data(i).Value = Val(FormTab_E33.FGrid1.TextMatrix(i, 2)) 'E33 134d
.Data(i).ToolTipText = "E33 134m D"
'Beim laden transparent anzeigen
.SetTransparent(1) = True
'....hier normal noch Daten von Spalten 2 - 15, Tabelle 1
'Datensetnr. 1 Tabelle 2
.CurSet = 16
.Data(i).Value = Val(FormTab_E44.FGrid1.TextMatrix(i, 2)) 'E44 134d
'Beim laden transparent anzeigen
.SetTransparent(16) = True
'....hier normal noch Daten von Spalten 2 - 15, Tabelle 2
'....erweiterbar auf ca 6 Tabellen?
Next i
' Fußzeile
.Footer = "Auswertungszeitraum: " & FormTab_E33.FGrid1.TextMatrix(1, 0) & "" & _
"bis " & FormTab_E33.FGrid1.TextMatrix(FormTab_E33.FGrid1.Rows - 1, 0)
.FooterFont.Size = 8
.FooterFont.Bold = False
' autom. Neuzeichnen einschalten
.LockUpdate False
' Graph anzeigen
.Refresh
End With
End Sub Das ganze sollte dann so aussehen (erstmal für 2 Tabellen):
http://www.bilder-hochladen.net/files/hgk3-a-jpg.html
Würde mich über ein paar Tipps sehr freuen!
Gruß Martin
Beitrag wurde zuletzt am 18.03.11 um 13:52:29 editiert. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevGraph (VB/VBA) 
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|