Entwickler-Ecke
Datenbanken - DBGrid komplett in StringGrid übergeben
PPaB - Fr 22.05.09 13:00
Titel: DBGrid komplett in StringGrid übergeben
Ich möchte meine Tabelle der Datenbank komplett in ein StringGrid übergeben.
Ich habe viel herumprobiert und im Internet nach einer Lösung gesucht, aber leider nichts brauchbares gefunden.
Ich habe eine MyBase-Datenbank erstellt und diese dann in einem DBGrid anzeigen lassen.
Hoffe ihr habt eine Idee und könnt mir helfen
PPaB
Robert.Wachtel - Fr 22.05.09 14:04
Warum? Was ist an dem DBGrid denn nicht so optimal?
mkinzler - Fr 22.05.09 14:27
Und wenn würde ich die Daten direkt vom DataSet ins StringGrid übertragen
PPaB - Fr 22.05.09 14:56
@ mkinzler: Ja das wäre mir ja auch eagl, ob jetzt von DBGrid zu String Grid oder direkt vom DataSet. Trotzdem würe es mir helfen, wenn du mir sagen könntest wie das funtkioniert?
@ Robert.Wachtel: Ich würde gerne einfach in bestimmten Spalten überprüfen, was dort steht (oder nach etwas bestimmten suchen) und die Zeilen dann ausgeben. Aber ich habe das mit DBGrid nicht hinbekommen und mit StringGrid dürfte es einfacher sein. Wenn das mit DBGrid auch einfach funtioniert und du oder jemand anders mir das erklären könnte, wäre ich auch froh.
mkinzler - Fr 22.05.09 15:15
| Zitat: |
| @ mkinzler: Ja das wäre mir ja auch eagl, ob jetzt von DBGrid zu String Grid oder direkt vom DataSet. Trotzdem würe es mir helfen, wenn du mir sagen könntest wie das funtkioniert? |
Du kannst die Zellen mit StringGrid.Cells adressieren
| Zitat: |
| @ Robert.Wachtel: Ich würde gerne einfach in bestimmten Spalten überprüfen, was dort steht (oder nach etwas bestimmten suchen) und die Zeilen dann ausgeben. Aber ich habe das mit DBGrid nicht hinbekommen und mit StringGrid dürfte es einfacher sein. Wenn das mit DBGrid auch einfach funtioniert und du oder jemand anders mir das erklären könnte, wäre ich auch froh. |
Grundsätzlich geanuso, wie im StringGrid
Robert.Wachtel - Fr 22.05.09 15:20
PPaB hat folgendes geschrieben : |
| [...] @ Robert.Wachtel: Ich würde gerne einfach in bestimmten Spalten überprüfen, was dort steht (oder nach etwas bestimmten suchen) und die Zeilen dann ausgeben. Aber ich habe das mit DBGrid nicht hinbekommen und mit StringGrid dürfte es einfacher sein. Wenn das mit DBGrid auch einfach funtioniert und du oder jemand anders mir das erklären könnte, wäre ich auch froh. |
Und warum machst Du das nicht mit den Spalten der Daten
quelle?
PPaB - Fr 22.05.09 15:31
@ Robert.Wachtel
Wenn du mir sagen würdest, wie das geht, wäre das sehr hilfreich?
Robert.Wachtel - Fr 22.05.09 15:35
In etwa so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| MeineTabelle.First; while not MeineTabelle.Eof do begin if (MeineTabelle.Fields[xyz].AsString = MeinGesuchterInhalt) then begin TueWasAuchImmerProzedur(); end; MeineTabelle.Next; end; |
Alternativ kannst Du natürlich auch FieldByName oder persistente Felder nutzen.
Evtl. solltest Du vorher/nachher noch DisableControls reps. EnableControls einsetzen.
zuma - Fr 22.05.09 15:41
alternativ geht auch ein
Delphi-Quelltext
1:
| Dataset.Locate('Suchfeld', Suchwert, []); |
oder
Delphi-Quelltext
1:
| Dataset.locate(suchfeld1;Suchfeld2;..), varArrayof([Suchwert1, suchwert2, ...]), []); |
ganz prima dafür.
Das setzen von Filtern könnte für deine Aufgabenstellung auch nützlich sein.
Robert.Wachtel - Fr 22.05.09 15:45
zuma hat folgendes geschrieben : |
| [...] Das setzen von Filtern könnte für deine Aufgabenstellung auch nützlich sein. |
Ja, würde man die Aufgabenstellung genauer spezifizieren, wäre natürlich eine konkrete Lösung möglich und man könnte auf viele Konjunktive verzichten... :mrgreen:
PPaB - Fr 22.05.09 18:26
Was ich machen möchte?
Ein Programm, in dem in einer Datenbank Liedernamen und die Bücher in denen diese vorkommen gespeichern sind
(2 Tabellen : in der Ersten: Lieder und die ID Zweiten: ID, Buch und Nummer ).
Jetzt möchte ich Suchabfragen einbauen:
--> Suche nach einem Liednamen
--> Suche nach einem Buch
Nach dieser Abfrage sollen die Datensätze, bei denen dies stimmt ausgegeben werden (in einer Tabelle).
So das wäre so ungefähr das Grundprinzip.
---
Moderiert von
Narses: Beiträge zusammengefasst---
@ zuma: Sieht ganz schön aus, aber was muss ich den als Suchfeld eingeben?
PPaB - Fr 22.05.09 18:49
ok hab das gefunden, was ins Suchfeld gehört, hatte nur nen Fehler im Code, deswegen hatte es nicht funktioniert
---
Moderiert von
Narses: Beiträge zusammengefasst---
Aber ein Frage habe ich trotzdem noch:
Wie kann ich in der Table den TableName einstellen ?
Bei mir gibt es da nichts zur Auswahl und in den Erklärungen steht, dass da die Datenbank reingehört,
aber wie ist das bei MyBase?
Robert.Wachtel - Fr 22.05.09 20:14
Ad eins ist mir nicht ganz klar, was Du meinst und ad zwei: neue Frage, neuer Thread. Danke.
Chemiker - Fr 22.05.09 20:23
Hallo PPaB,
wozu brauchst Du eine Tabelle? Normal brauchst Du doch nur ClientDataset mit DataSource verbinden. Wenn Du 2 ClientDatSet hast kannst Du ein DataModul dafür anlegen.
Damit ereichst Du eine Trennung zwischen Datenbank und der GUI.
Bis bald Chemiker
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!