vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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
sevDataGrid sortierung langsam 
Autor: André G.
Datum: 20.10.06 08:57

Guten morgen alle zusammen,

ich nutze Access als Frontend für eine DB2-Datenbank.
In einem Formular habe ich das sevDataGrid (v2.2.60) integriert, mit dem ich auf eine Tabelle zugreife (in der Tabelle ca. 10000 Datensätze).
Das Befüllen des Grids über das Klonen des Recordsets mit einer einfachen WHERE-Klausel erfolgt pfeilschnell. Die grundsätzlichen Schritte hab ich mir aus der Demo kopiert.
Bis hierhin alles super !!!

Stelle ich aber AuroSort = True und klicke auf einen Spaltentitel, dann schläft das Programm vollends ein.
Spaßeshalber habe ich die Tabelle mal nach Access importiert (was für die Arbeit ja keinen Sinn macht), aber dann ist das Laufzeitverhalten deutlich besser.

Sogar wenn ich über das Event 'BeforeSort' das automatische Sortieren unterbinde (Cancel=True) und das Grid komplett über ein neues SQL-Stetement neu befülle, geht es viel (!!!) schneller.
Leider muss ich mir dann recht aufwendig alle Spaltensortierungen merken und dann jeweils das SQL-Statement anpassen. Auch bekomme ich nach dem Sortieren das kleine Pfeilchen nicht neben dem Spaltenbezeichner angezeigt, was ja durchaus eine sinnvolle Hilfe ist.

Somit, was kann ich ändern, damit ich das mit ordentliche Reaktionszeit hinbekomme?
Bzw. vielleicht hab ich ja auch ein Verständnisproblem mit dem Klonen des Recordsets.
Diese Methode kopiert doch einen Recordset aus der Ursprungstabelle und stellt diese Tabwelle dann im Grid dar - oder? Erstellt die Sort-Methode einen neuen Clone?

Anbei der Code, mit dem ich das Grid befülle:
Private Sub Form_Load()
  Dim oRs As dao.Recordset
 
 
  'Vorbereitung
  Me.KeyPreview = True
 
  'Verweis
  Set oDB = CurrentDb
 
  'Recordset holen
  sSQL = "SELECT strUsrID, strUsrNName, strUsrVName, strUsrAbtNr, strUsrSGebNr" & _
    "" & _
         "FROM tblUser WHERE strUsrAmtNr = '10' ORDER BY strUsrNName"
  Set oRs = oDB.OpenRecordset(sSQL)
 
  With grdUser
    'autom. Neuzeichnen ausschalten
    .LockUpdate True
 
    'Recordset-Kopie erstellen
    .CreateClone = True
 
    'Recordset zuweisen
    .Clear True
    Set .Recordset = oRs
 
    'autom. Sortierung aktivieren
    .AutoSort = True
    'sortieren
    .DoSort "strUsrID"
 
    'Ändern der Spaltenbreiten zulassen
    .AllowColumnSizing = True
    'neuzeichnen
    .LockUpdate False
    .Refresh
 
    'erste Zeile selektieren
    .Row = 1
 
  End With
 
  'schließen und Verweis lösen
  oRs.Close
  Set oRs = Nothing
 
End Sub
Danke für jede Hilfe
& ciao
André
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
sevDataGrid sortierung langsam791André G.20.10.06 08:57
Re: sevDataGrid sortierung langsam448ModeratorDieter20.10.06 09:49
Re: sevDataGrid sortierung langsam377André G.23.10.06 09:03

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