AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

allgemeine Frage zu Grid's

Ein Thema von Hansa · begonnen am 30. Sep 2002 · letzter Beitrag vom 2. Okt 2002
Antwort Antwort
Seite 1 von 2  1 2      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

allgemeine Frage zu Grid's

  Alt 30. Sep 2002, 19:32
Hi,

hänge hier an drei Problemchen fest :

1. Im grid zeigt Delphi mir alle Felder an, eines ist aber nur für interne Zwecke gedacht, wie kann ich das "ausblenden" ?

2. Habe das Grid vorerst mal auf eine Form gelegt, das soll aber eigentlich alleine für sich existieren und je nach Bedarf angezeigt werden. Im Moment habe ich immer die Form im Hintergrund. Außerdem soll es auch außerhalb der Form angezeigt werden können (überlappend oder so).

3. Wie komme ich an einzelne Zellen ran, bzw. wie kann ich den Wert einer ausgewählten Zelle irgendwie verwenden ? Das Grid an sich ist doch wahrscheinlich ein Array ? Oder ?

Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 30. Sep 2002, 19:42
Moin Hansa,

welches Grid meinst Du?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#3
  Alt 30. Sep 2002, 19:47
Hallo Hansa!


Also ich beziehe mich jetzt auf StringGrids, hoffe du meinst diese.

Zu 1: Ob man einzelne Felder ausblenden kann weiß ich nicht (denke mal nicht), aber ein StringGrid ist nicht so geeignet um Daten zu speichern, lass mal eine for-Schleife durch ein Stringgrig laufen und irgendwelche Operationen mit den Zelleninhalten ausführen und dann das gleiche mit einem gleichgroßen Array of String, das StringGrid ist wesentlich langsamer. Also wenn du die Möglichkeit dazu hast würde ich die internen Werte auf eine andere Weise speichern.

Zu 2: Auf die Strings in nem StringGrid kannst du mit StringGrid1.Cells[x,y] zugreifen.

Gruß Sebastian
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4
  Alt 30. Sep 2002, 19:48
Hallo Chris,

DBgrid Sag nur, das ist noch bei jedem Grid anders ?

Gruß
Hansa
  Mit Zitat antworten Zitat
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#5
  Alt 30. Sep 2002, 19:53
Hmm also doch kein StringGrid

Naja was solls

Gruß Sebastian
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6
  Alt 30. Sep 2002, 19:55
Hallo Sebastian,

Danke für die Antwort.

Zitat:
Zu 2: Auf die Strings in nem StringGrid kannst du mit StringGrid1.Cells[x,y] zugreifen.
Also ist es doch besser das Grid nicht kreisförmig zu machen.

Wenn ich auch oft lese, "guck in der Delphi Hilfe", die ist trotzdem Sch.... In max. 10 % der Fragen finde ich dort vielleicht einen Hinweis, Beispiele sind so gut wie nicht zu finden. Soviel noch dazu.

Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7
  Alt 30. Sep 2002, 20:09
Moin Hansa,

ob es da Unterschiede gibt, weiss ich auch nicht, denn bislang habe ich nur mit StrinGrid gearbeitet. Da ich bei Datenbanken bislang keine Verwendung für grosse vorgefertigte Lösungen habe benutze ich da immer meine Eigenentwicklung

Sollten sich die Grids in diesem Bereich nicht unterscheiden, könnte ich nur noch mal auf Verdacht die Ausführungen von Sebastian ergänzen.

Zu 1.:
Da ein Grid sich ja nur, aus Zeilen/Spalten zusammensetzt, wirst Du wohl auch nur eine solche komplett ausblenden können.

Variante 1:
RowCount bzw. ColCount eine Zeile/Spalte kleiner setzen, als Du brauchst.
Variante 2:
Die Höhe/Breite der auszublenden Zeile/Spalte auf 0 setzen.

Die dann unsichtbare Spalte kannst Du dann intern nutzen.

Zu 2.
Da wirst Du wohl nicht umhinkommen Dir ein Formular zu nehmen, dass dann nur bei Bedarf angezeigt wird.

Diese Grids sind übrigens eine Eigenentwicklung von Borland, und haben so unmittelbar keine Entsprechung in den Windows Controls.
Sie haben auch die Interessante Eigenschaft, dass die Zellen nicht erst erzeugt werden müssen, dass heisst man kann auch eine Zelle ansprechen, die ausserhalb RowCount/ColCount liegt, ohne dass ein Fehler auftritt.
Die beiden Counter geben nur an inwieweit die Zellen sichtbar sein sollen.

(BTW: Da die Grids nichts mit der Windows API zu tun haben, verschieb' ich den Thread mal nach VCL-Komponenten)
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#8
  Alt 1. Okt 2002, 14:14
Hallo Chris,

Zitat:
Da ein Grid sich ja nur, aus Zeilen/Spalten zusammensetzt, wirst Du wohl auch nur eine solche komplett ausblenden können.
Nun, ich hatte den falschen Ansatz, es handelt sich um ein SQL-DBgrid und dort stand select * from. Nehme ich statt dem *, die einzelnen Felder, die das Grid anzeigen soll, so gehts einwandfrei ! Und keiner kann mehr an meiner DB einfach so rumfummeln.

Das Thema müßte man jetzt eigentlich an Datenbanken "weiterreichen" .

Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9
  Alt 1. Okt 2002, 14:32
Hi Chris,

Da ich hier ein SQL-DBgrid habe, war mein Ansatz nicht so ganz richtig. Am einfachsten ist es statt "SELECT * FROM ....", die Felder, die angezeigt werden sollen einzeln aufzuführen. Die internen Sachen dürfen dann halt nicht angegeben werden.

Handelt es ich um ein Grid mit sehr vielen Spalten, wobei die auszublendenden weit auseinander liegen oder so, geht es auch so :

Beim Grid zeigt der OI ein Feld Columns an. Dahinter verbirgt sich ein Columns-Editor. Hier kann man nun sagen, welche Felder nicht angezeigt oder wieder hinzugefügt werden sollen.

Das war eigentlich das was ich gesucht hatte, aber direkt beim SQL schon einzugreifen ist meiner Ansicht nach doch besser. Ob das jetzt allerdings DBgrid-spezifisch ist, wer weiß ? Vermute mal der Columns Editor steht bei allen Grids zur Verfügung.

Mich stört jetzt nur noch das Aussehen des Grids. Kann man es so hinkriegen, daß das Grid den ganzen Platz ausfüllt. Bei mir ist rechts daneben und unten, alles weiß. Also Platz der gar nicht gebraucht wird.


Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10
  Alt 1. Okt 2002, 15:04
Hi,

das Thema ist doch noch nicht erledigt.

Zitat:
Auf die Strings in nem StringGrid kannst du mit StringGrid1.Cells[x,y] zugreifena ist doch noch nicht erledigt.
Brauche den Wert des ausgewählten, wobei nur in einer Spalte ausgewählt werden darf, die anderen aber doch zu sehen sind.

Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:17 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