Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Spalten im DBgrid nicht anzeigen (https://www.delphipraxis.net/7544-spalten-im-dbgrid-nicht-anzeigen.html)

Hansa 15. Aug 2003 11:34


Spalten im DBgrid nicht anzeigen
 
Hi,

also ich habe ein DBgrid. Da sind aber auch Felder wie ID zu sehen. Ich kriege es nicht hin, diese NICHT anzuzeigen. Aus der SELECT-Anweisung kann ich das nicht einfach weglassen.

TimmA 15. Aug 2003 11:44

Re: Spalten im DBgrid nicht anzeigen
 
Hi,

doppelklick auf das DBGrid dann geht ein neies Fenster auf mit allen Spalten da kannst du dann jede einzelne löschen aber mom .... gucke selbst nochmal eben ... :)

Hansa 15. Aug 2003 11:57

Re: Spalten im DBgrid nicht anzeigen
 
Bei mir sind da keine drin. Du meinst persistente Felder ?

JoelH 15. Aug 2003 11:59

hmm,
 
entweder du lässt sie aus dem Query raus, warum geht dass eigentlich nicht ?

Oder , iss aber nur ein Trick gegen Anfänger, du setzt die Spaltenbreite einfach auf 0 ;) Das merkt kein Mensch.

Hansa 15. Aug 2003 12:02

Re: hmm,
 
Zitat:

Zitat von JoelH
entweder du lässt sie aus dem Query raus, warum geht dass eigentlich nicht ?

Weil es ein Join ist, ich brauche also 2 IDs von 2 Tabellen. Den Rest habe ich im SelectSQL schon eliminiert. Und Dein Trick, hmmm, so progge ich eigentlich nicht, vor allem hatte ich es schon hinbekommen, weiß aber nicht mehr wie.

TimmA 15. Aug 2003 12:03

Re: Spalten im DBgrid nicht anzeigen
 
Zitat:

Zitat von Hansa
Bei mir sind da keine drin. Du meinst persistente Felder ?

Wenn das neue Fenster nach dem Doppelklick aufgeht auf "Alle Felder hinzufügen" klicken dann zeigt er bei mir alle an und ich kann sachen wie ID auslöschen.(das löschen heisst nur das es im DBGrid selber nicht angezeigt wird)



Gruss TimmA.

TimmA 15. Aug 2003 12:43

Re: Spalten im DBgrid nicht anzeigen
 
verdammt -doppelpost (bitte löschen) :roll:

Hansa 16. Aug 2003 10:24

Re: Spalten im DBgrid nicht anzeigen
 
Du meinst den Spalteneditor. Damit ist es mir gelungen, die unwichtigen Spalten zu entfernen. Aber nun stellt sich das Problem anders dar : die Datenmenge, die ich brauche, kommt von einem Join. Und mit diesem Editor komme ich nur an die Spalten der einen Table dran. Der Join wird erst zur Laufzeit erzeugt. Was soll ich jetzt da machen :?:

Taladan 16. Aug 2003 10:40

Re: Spalten im DBgrid nicht anzeigen
 
Ich kenne zwar den Join-Befehl nicht, aber wenn du Spalten im DBGrid löscht, beeinträchtigt das nicht deine Tabelle. Wenn du deinen Spalteneditor öffnest. Füge als erstes alle Spalten hinzu. Dann entferne die Spalten NICHT, sondern setze deren Eigenschaft im Objektinspektor Visible := False . Das sollte dein Problem eigendlich lösen.

Sharky 16. Aug 2003 11:34

Re: Spalten im DBgrid nicht anzeigen
 
Zitat:

Zitat von Hansa
... Und mit diesem Editor komme ich nur an die Spalten der einen Table dran. Der Join wird erst zur Laufzeit erzeugt. Was soll ich jetzt da machen :?:

Hai Hansa,

Du kannst im SpaltenEditor auch die Feldnamen manuell angeben. Du musst sie dir also nicht erst alle anzeigen lassen (was bei dir ja wohl nicht geht).

Hansa 16. Aug 2003 11:40

Re: Spalten im DBgrid nicht anzeigen
 
Soll ich nicht am besten das Dataset umbauen ? Bei Standard-Select direkt den Join ?

Sharky 16. Aug 2003 11:44

Re: Spalten im DBgrid nicht anzeigen
 
Zitat:

Zitat von Hansa
Soll ich nicht am besten das Dataset umbauen ? Bei Standard-Select direkt den Join ?

Was meinst Du denn denn damit das Dataset umzubauen?

Du kannst die Felder die im Grid angezeigt werden sollen ja auch einfach zu Laufzeit eintragen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 With DBGrid1.Columns do
  begin
   Clear;
   Add.FieldName := 'name';
   Add.FieldName := 'vorname';
   Add.FieldName := 'telefon';
  end;
end;

Hansa 16. Aug 2003 12:01

Re: Spalten im DBgrid nicht anzeigen
 
Umbauen ? Ich mache die Datasets normalerweise mit Rechtsklick, Tabelle auswählen, Felder hinzufügen. Kann ich da jetzt nicht nur die gewünschten auswählen ? Andererseits ersetze ich mit close und open doch sowieso die Standardeinstellung, oder ?

Sharky 16. Aug 2003 12:08

Re: Spalten im DBgrid nicht anzeigen
 
Zitat:

Zitat von Hansa
Umbauen ? ... Kann ich da jetzt nicht nur die gewünschten auswählen ? Andererseits ersetze ich mit close und open doch sowieso die Standardeinstellung, oder ?

:shock:

Sorry,

ich atte anstelle von DataSet DataSource gelesen.

Ich versuche immer diesen Weg zu vermeiden. Wenn Du dann nämlich in deinem SQL-Query einmal ein Feld rausnimmst oder es aus der Tabelle des DB-Servers entfernst meckert der Compiler weil er ein Feld nicht findet und man kann sich den Wolf suchen bevor einem einfällt das man in der DataSet ja die Felder angegeben hat die es geben soll.

Hansa 16. Aug 2003 12:39

Re: Spalten im DBgrid nicht anzeigen
 
Zitat:

Zitat von Sharky
...Ich versuche immer diesen Weg zu vermeiden...

Wie? Was jetzt? Ich gehe hin und benutze ein Datamodul. Da ist dann Database, Dataset und für Grid etc. auch Datasource drin. Und eine Transaction, da bin ich auch noch dran am tüfteln. im Dataset rufe ich den Feld-Generator auf und füge alle Felder hinzu und sage einfach "generate SQLs". Für den Spezialfall hier jetzt brauche ich nicht alle Felder also :

Delphi-Quellcode:
Dataset.close;
SelectSQL := 'Select <benötigte Felder> Join Blabla'
Dataset.open;
Ist das vielleicht sowieso verkehrt ? Bin im Moment nicht an dem richtigen Rechner, deshalb der Pseudocode. Wegen des Joins nützt mir ein Dataset alleine doch nichts, oder wie oder was ?

MrSpock 16. Aug 2003 21:12

Re: Spalten im DBgrid nicht anzeigen
 
Hallo Hansa,

wenn du mit persistenten Feldern arbeitest, kannst du einfach die Eigenschaft visible von ID auf False setzen.


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