vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
sevGraph: 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.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
sevGraph: Wie am besten viele Graphen miteinander vergleiche...1.216Maig18.03.11 13:42
Re: sevGraph: Wie am besten viele Graphen miteinander vergle...943ModeratorDieter18.03.11 14:33
Re: sevGraph: Wie am besten viele Graphen miteinander vergle...932Maig18.03.11 14:46
Re: sevGraph: Wie am besten viele Graphen miteinander vergle...921ModeratorDieter18.03.11 14:59
Re: sevGraph: Wie am besten viele Graphen miteinander vergle...1.050Maig18.03.11 15:41
Re: sevGraph: Wie am besten viele Graphen miteinander vergle...862Maig19.03.11 13:07

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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