Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   dbgrid und locate bringt EListerror (https://www.delphipraxis.net/132686-dbgrid-und-locate-bringt-elisterror.html)

khh 17. Apr 2009 14:08


dbgrid und locate bringt EListerror
 
hallo zusammen,
ich habe ein dbgrid welches ich mit den Werten aus der DB folgendermassen fülle:


Delphi-Quellcode:
     TColumn(self.Columns[0]).Field:= FartikelQuery.FieldByName('artikelnummer');
     self.columns[0].Title.caption := 'Artikelnr.';
usw. usw.

die nicht benötigten Felder werden anschliessend durch

Delphi-Quellcode:
 for i:= 25 downto 3  do
  begin
     self.Columns.Delete(i) ;
  end;
gelöscht.

das funktioniert so fehlerlos, wenn ich aber vor dem Anzeigen des Grid per :

Delphi-Quellcode:
 FArtikelDBgrid.ArtikelQuery.Locate('bezeichnung1',suchEdit.Text,[loPartialKey,loCaseInsensitive]);

auf einen DS positioniere bekomme ich beim löschen der nicht benötigten Felder einen fehler:
EListError List Index out of bounds

die Positionierung funktioniert trotzdem.

Was ist für den fehler verantwortlich ?

Danke Gruss KH

DeddyH 17. Apr 2009 14:13

Re: dbgrid und locate bringt EListerror
 
Mach doch mal eine Abfrage davor, ob überhaupt mehr als 25 Spalten vorhanden sind.

khh 17. Apr 2009 14:14

Re: dbgrid und locate bringt EListerror
 
Zitat:

Zitat von DeddyH
Mach doch mal eine Abfrage davor, ob überhaupt mehr als 25 Spalten vorhanden sind.

wiso könnten sich durch das locate die anzahl der spalten ändern?

DeddyH 17. Apr 2009 14:17

Re: dbgrid und locate bringt EListerror
 
Das ist doch Dein Code, das hab ich nämlich auch nicht begriffen. Du machst einen Locate und löschst anschließend die Spalten, oder hab ich das falsch verstanden?

khh 17. Apr 2009 14:20

Re: dbgrid und locate bringt EListerror
 
Zitat:

Zitat von DeddyH
Das ist doch Dein Code, das hab ich nämlich auch nicht begriffen. Du machst einen Locate und löschst anschließend die Spalten, oder hab ich das falsch verstanden?

EDIT: richtig, ich hab einfach vor das anzeigen des Grids ein locate gebaut und dabei das SQL-Statement nicht ausgeführt :-(

ich habe den Fehler gefunden.

Vor dem locate fehlte die Ausführung des SQL-Statements :-(


danke Gruss KH

DeddyH 17. Apr 2009 14:24

Re: dbgrid und locate bringt EListerror
 
Darauf wäre ich aus der Ferne auch nicht gekommen :lol:

[edit] Andere Frage: wieso fragst Du Felder ab, die Du anschließend wieder löschst? Hat das einen tieferen Sinn? [/edit]

khh 17. Apr 2009 14:29

Re: dbgrid und locate bringt EListerror
 
Zitat:

Zitat von DeddyH
Darauf wäre ich aus der Ferne auch nicht gekommen :lol:

[edit] Andere Frage: wieso fragst Du Felder ab, die Du anschließend wieder löschst? Hat das einen tieferen Sinn? [/edit]

ja, weil ich Felder auch weiter verarbeite, die ich im Grid nicht anzeige.

kennst du ne bessere Möglichkeit ?

Danke Gruss Kh

mkinzler 17. Apr 2009 14:32

Re: dbgrid und locate bringt EListerror
 
Einfach ausblenden:

Delphi-Quellcode:
Column.Visible := False;

khh 17. Apr 2009 14:37

Re: dbgrid und locate bringt EListerror
 
danke dir, werd ich mal so probieren
EDIT : so einfach, warum bin ich da nicht selbst drauf gekommen :wall:




danke dir
Gruss KH


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 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