AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DBGrid Position merken

Ein Thema von -187- · begonnen am 3. Okt 2010 · letzter Beitrag vom 4. Okt 2010
Antwort Antwort
Seite 1 von 2  1 2   
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#1

DBGrid Position merken

  Alt 3. Okt 2010, 19:25
Hallo, ich suche nach einer Möglichkeit wie man sich die Selected Row merken kann sodass man nach einem Refresh diese Row wieder selektieren kann. Habe mir mal .GetBookmark angeschaut aber damit hat es nicht geklappt. Jemand einen Idee?
  Mit Zitat antworten Zitat
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.249 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: DBGrid Position merken

  Alt 3. Okt 2010, 19:43
Habe mir mal .GetBookmark angeschaut aber damit hat es nicht geklappt.
Damit sollte es aber gehen. Zeig doch mal deinen Code...

Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.798 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: DBGrid Position merken

  Alt 3. Okt 2010, 19:55
Hallo...
Willst du den gleichen Datensatz wieder markieren auch bei geänderter Datenmenge ? Dann vorher die ID des Datensatzes merken und danach mit Locate wieder drauf setzen. Ich glaube die Bookmarks sind nach einem Refresh wieder zurückgesetzt.
  Mit Zitat antworten Zitat
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.249 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: DBGrid Position merken

  Alt 3. Okt 2010, 20:26
Ich glaube die Bookmarks sind nach einem Refresh wieder zurückgesetzt.
Normalerweise nicht. Man kann auch die Datenmenge schliessen und wieder öffnen.
Im Anhang ein Beispiel mit Delphi Bordmitteln.

Frank
Angehängte Dateien
Dateityp: zip demo.zip (3,1 KB, 15x aufgerufen)
Frank Reim
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#5

AW: DBGrid Position merken

  Alt 3. Okt 2010, 20:53
Hm also ich hatte es so versucht:

Code:
var
  Bookmark: Pointer;
begin
  Bookmark:=DBGrid1.DataSource.DataSet.GetBookmark;

  ...Mach irgendwas mit der DB...

  DBGrid1.DataSource.DataSet.GotoBookmark(Bookmark);
end;
Wie merk ich mir die ID ? Ich bin ein blutiger Anfänger was Datenbanken angeht
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.798 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: DBGrid Position merken

  Alt 3. Okt 2010, 21:53
Ich hab mir die Demo jetzt nicht angeschaut...
Vieleicht ist das http://delphi.about.com/b/2010/09/16...w-position.htm
das gleiche.
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#7

AW: DBGrid Position merken

  Alt 3. Okt 2010, 22:23
Hm das funktioniert nicht, Es wird keine Row selektiert.
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#8

AW: DBGrid Position merken

  Alt 3. Okt 2010, 22:52
Ok ich hab das Problem jetzt anders gelöst. Ich merke mir den String Wert der UNIQUE ist und suche den dann mit Locate wieder. Soweit so gut, jedoch wird die Row dann ganz unten im sichtbaren Bereich des DBGrids angezeigt und die Row ist nicht selektiert. Wie selektiere ich die Row und wie krieg ichs hin das Sie oben steht.

Code:
  Cell:=DBGrid1.SelectedField.AsString;
...
...
  DBGrid1.DataSource.DataSet.Locate('NUMBER',Cell,[loPartialKey,loCaseInsensitive]);
E: Ok, das die Row danach wieder selektiert ist habe ich auch hingekriegt, bleibt noch das Problem das die Row ganz oben erscheinen soll. Im StringGrid gibt es TopRow oder so, gibt's da was vergleichbares fürs DBGrid bzw DataSource ?

Geändert von -187- ( 3. Okt 2010 um 23:11 Uhr)
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#9

AW: DBGrid Position merken

  Alt 4. Okt 2010, 14:34
Push
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

AW: DBGrid Position merken

  Alt 4. Okt 2010, 14:51
Die Reihenfolge der Datensätze wird ausschlieslich vom darunterliegenen Dataset bestimmt.
Entweder sind die Daten nach dem Primärschlüsselfeld sortiert oder es gibt eine ORDER By Klausel in der SQL-Abfrage. **)

Möchte man an einer bestimmter Stelle einen Datensatz einfügen, dann darf man das Dataset nicht schliesen.
Nach einem Refresh bzw. Schliesen/Öffnen springt dieser Datensatz an die Stelle, die durch **) definiert wird.
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 12:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf