AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DBGrid alle Datensätze makieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid alle Datensätze makieren

Ein Thema von Salomon · begonnen am 21. Apr 2008 · letzter Beitrag vom 22. Apr 2008
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

DBGrid alle Datensätze makieren

  Alt 21. Apr 2008, 13:55
Datenbank: MS SQL • Zugriff über: ADO
Hi,
kennt ihr einen perfomanten Code der mir alle Datensätze in einem DBGrid selektiert? Zur Zeit verwende ich den Code unten, der allerdings bei nur 2500 Datensätzen merklich Zeit braucht. Das muss doch auch schneller gehen...

Delphi-Quellcode:
  Screen.Cursor := crArrow;
  DM_ProjectPoint.QRY_All.DisableControls;
  DM_ProjectPoint.QRY_All.First;
  while not DM_ProjectPoint.QRY_All.Eof do
  begin
    DBGrid.SelectedRows.CurrentRowSelected := CheckBox1.Checked;
    DM_ProjectPoint.QRY_All.Next;
  end;
  DM_ProjectPoint.QRY_All.First;
  DM_ProjectPoint.QRY_All.EnableControls;
  Screen.Cursor := crDefault;
LG
Marcus
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DBGrid alle Datensätze makieren

  Alt 21. Apr 2008, 16:22
Vielleicht würde es reichen, primär nur sichtbare Datensätze zu markieren.
Es wäre vielleicht grundsätzlich über eine Limitierung nachzudenken.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#3

Re: DBGrid alle Datensätze makieren

  Alt 22. Apr 2008, 08:17
Hi mkinzler,
nur das makieren der sichtbaren Datensätze reich tleider nicht aus. Zum Glück kommt der Fall das das gesammte DbGrid makiert werden muss nicht so oft vor.
Da du eine Limitierung vorschlägst wird es wohl keine schnellere Variante geben ?!?

Gruß
Marcus
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DBGrid alle Datensätze makieren

  Alt 22. Apr 2008, 08:19
Keine mir bekannte
Markus Kinzler
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#5

Re: DBGrid alle Datensätze makieren

  Alt 22. Apr 2008, 08:45
Wie wäre es mit einem Fake? Du zeichnest das Grid so, als ob alle markiert wären, und die abzuarbeitenden Datensätze hast du ja in der Query.
Confuzius say: Early worm have death wish.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: DBGrid alle Datensätze makieren

  Alt 22. Apr 2008, 08:51
Würde ich nicht als fake bezeichnen, sondern als ernsthafte Alternative. man fetcht immer nur einen Ausschnitt, welcher etwas größer als der dargestellte ist und reagiert dann auf verschieben des Datensatzzeigers.
Markus Kinzler
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#7

Re: DBGrid alle Datensätze makieren

  Alt 22. Apr 2008, 09:00
Ich meinte aber wirklich nur zeichnen, also Hintergund und Textfarbe in OnDrawColumnCell auf die bei der Markierung verwendeten setzen, nicht tatsächlich markieren. Als ernsthafte Alternative würde ich diesen 'Fake' dennoch bezeichnen.
Confuzius say: Early worm have death wish.
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#8

Re: DBGrid alle Datensätze makieren

  Alt 22. Apr 2008, 09:50
@Peinhard: Die Idee ist gut, da der User auch einzelne Datensätze makieren kann, müsste ich prüfen ob gerade ob er gerade alles, oder nur eine Teilmenge haben will.
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Peinhard

Registriert seit: 8. Jul 2006
152 Beiträge
 
#9

Re: DBGrid alle Datensätze makieren

  Alt 22. Apr 2008, 09:54
So ist es, das 'Interface' muss so gestaltet sein, dass du die Fälle unterscheiden kannst, und auch die 'weiterverarbeitenden' Routinen müssen entsprechend ergänzt werden.
Confuzius say: Early worm have death wish.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz