Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DataGrid unsichtbare Info für jede Zeile (https://www.delphipraxis.net/52786-datagrid-unsichtbare-info-fuer-jede-zeile.html)

S2B 3. Sep 2005 18:28


DataGrid unsichtbare Info für jede Zeile
 
Hi @all,
ih habe hier ein DataGrid, das ich mit Daten aus einer Datenbank füttere (*klick*). Ich möchte jedoch, dass die ID's der Einträge (aus der Datenbank) zwar mit den Zeilen im DataGrid verknüpft werden, jedoch nicht angezeigt werden.

Wie könnte ich so etwas am besten lösen? :cyclops:

Edit: Oder soll ich vielleicht eine ListView nehmen? Editieren muss ich im DataGrid sowieso nicht... :angel2:

etom291272 3. Sep 2005 18:50

Re: DataGrid unsichtbare Info für jede Zeile
 
Kannst du dein Problem bitte etwas ausführlicher beschreiben dann kann ich dir warscheinlich helfen
:)

S2B 3. Sep 2005 18:56

Re: DataGrid unsichtbare Info für jede Zeile
 
Zitat:

Zitat von etom291272
Kannst du dein Problem bitte etwas ausführlicher beschreiben dann kann ich dir warscheinlich helfen

Kein Problem, es ist irgendwie nicht so leicht zu beschreiben. :?

Ich lese aus einer Datenbank Adressdaten für ein Adressenprogramm aus. Jede Zeile in der Datenbank hat eine einmalige ID, über die ich nachher die Zeile genau ansprechen will (z.B. bei einem Doppelklick auf einen Eintrag im DataGrid). Jedoch soll diese ID nicht wie die anderen Spalten im DataGrid angezeigt werden, sondern für den Benutzer nicht sichtbar sein. Jedoch muss sie, damit ich nachher den geklickten Eintrag ansprechen kann, im Bezug auf die einzelnen Zeilen im DataGrid abgespeichert werden.

Ich hoffe, dass die Erklärung besser ist. :angel2:

Sharky 3. Sep 2005 18:59

Re: DataGrid unsichtbare Info für jede Zeile
 
Hai S2B,

klicke mal mit der rechten Maustaste auf das DBGrid. Dort kannst Du im "Spalteneditor" angeben welche Felder angezeigt werden
.

S2B 3. Sep 2005 19:04

Re: DataGrid unsichtbare Info für jede Zeile
 
Zitat:

Zitat von Sharky
klicke mal mit der rechten Maustaste auf das DBGrid. Dort kannst Du im "Spalteneditor" angeben welche Felder angezeigt werden

Es ist nur leider kein DBGrid, sondern ein normales DataGrid. :cyclops:

Edit: Quatsch mit Soße, das gibt's ja gar nicht. :wall: Es ist ein TStringGrid... :roll: Ich hab nur meine Komponente auf der Form so benannt...

etom291272 3. Sep 2005 19:05

Re: DataGrid unsichtbare Info für jede Zeile
 
:-D
kein problem du hast ja in dem Dataset die möglichkeit deine Felder zu definieren (rechte maustaste auf die komponente und fields editor) da holst du dir mit add fields z.b deine id den namen, vornamen und sagen wir den ort
im dbgrid die datasource zuweisen und in den colums würden bei unserem Beispiel 3 Colums angelegt werden dort dann die datenfelder zuweisen die du im grid haben möchtest.
wenn das programm jetzt läuft ist aber das komplette recordset aktiv d.h alle vier felder wenn du z.b ein procedure den wert der id übergeben möchtest kannst du einfach auf die value oder asstring eigenschaft des datenfeldes welches als fixe komponente in die Formklasse integriert wird zugreifen.

:coder: :coder:

Sharky 3. Sep 2005 19:12

Re: DataGrid unsichtbare Info für jede Zeile
 
Hai S2B,

wenn es dir "nur" um die ID des Datensatzes geht könntest Du diese über in Typecasting in der Eigenschaft Objects speichern.

Pseudocode:
Delphi-Quellcode:
procedure Id2StringGrid
begin
  StringGrid1.Objects[1,row] := TObject(DatensatzID);
end;
Beim Auslesen musst Du diese natürlich wieder in einen Integer casten
Delphi-Quellcode:
procedure StringGrid2ID;
var
  DatensatzID : integer;
begin
  DatensatzID := Integer(StringGrid1.Objects[1,row]);
end;

S2B 3. Sep 2005 19:40

Re: DataGrid unsichtbare Info für jede Zeile
 
Danke, das funktioniert perfekt. :) Jetzt kennt sich zwar niemand mehr im Quellcode aus (wegen den vielen +1 bzw. -1 in den for-Schleifen), aber ist ja auch egal. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz