Grid füllen durch Array

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
BlueWollThingy
Beiträge: 5
Registriert: Fr 5. Feb 2016, 11:17
OS, Lazarus, FPC: Win(8.1,10) Laz 1.4.4
CPU-Target: 32/64Bit
Wohnort: Dresden

Grid füllen durch Array

Beitrag von BlueWollThingy »

Hallo an alle hier!

Ich habe das Forum hier bereits einige Male genutzt, aber jetzt stoße ich gerade an meine Grenze. Ich weiß nicht ob es diese Frage hier bereits einmal gab, wenn ja, dann wäre es nett, wenn ihr mir einen Link hinterlassen könntet. So jetzt aber mal zu meiner Frage:

Ein Query mit einem SQL-String füllen und die Daten von Dort in ein Array eintragen ist erledigt. In meinem Fall ist das Array [0..15] groß.
In dem Grid sollen aber nicht alle Daten angezeigt werden und von diesem Grid aus sollen die Daten via Drag&Drop in ein anderes Grid übertragen werden und genau da scheitert es.
Die Daten sind im Array, aber das unterschiedliche füllen der Grids + Drag&Drop bringt mich grad zum verzweifeln. :cry:
Es gibt bestimmt eine simple Lösung dafür, aber ich komme nicht drauf... :oops:

Hier mal die bisherigen Erfolge... :oops:
SQL.JPG

Formular.JPG

Arrayfuellen.JPG


Vielen Dank schon mal für die Hilfe! :D

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Grid füllen durch Array

Beitrag von Michl »

Hallo und herzlich willkommen im Forum!

Ich habe die Frage so verstanden, dass in der einen Tabelle alle Datensätze (einer bzw. per Join verbundener mehrerer Tabellen) angezeigt werden, in der zweiten nur Datensätze, die du per Drag und Drop von der Ausgangstabelle hinübergeschoben hast. Dabei zeigt die Ausgangstabelle andere Felder eines Datensatzes an, als die Tabelle, die per DnD gefüllt werden soll.

Wenn das Select funktioniert, brauchst du doch eigentlich gar kein Array, sondern nimmst ein DBGrid und lässt dir die Daten einfach anzeigen (Ausgangstabelle).

Falls du nun für das benachbarte Grid ebenfalls ein DBGrid wählst, würde ich eine neue Tabelle in der Datenbank erstellen, die einfach nur die IDs, der von dir per DnD hinübergeschobenen Datensätze, vorhält. Mittels eines entsprechenden Selects der Ausgangstabelle mit einem Join zu der Tabelle, die nur die IDs vorhält, kannst du dir dann die Datensätze in dem zweiten DBGrid anzeigen lassen.

Das ist jetzt nur eine hilfreiche Antwort, wenn ich deine Fragestellung richtig gedeutet habe.

PS: Schön, jemanden aus meiner Heimat hier im Forum su sehen :)

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Grid füllen durch Array

Beitrag von Komoluna »

Auch von mir herzlich willkommen.

Wenn du Code postest, verwende bitte die Highlighter(über dem Eingabefeld). Das macht es für uns einfacher dir zu helfen ;-)

Bsp:

Code: Alles auswählen

function Foo(Bar: integer): integer;
begin
  Result := Bar * Bar;
end;
 


MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

BlueWollThingy
Beiträge: 5
Registriert: Fr 5. Feb 2016, 11:17
OS, Lazarus, FPC: Win(8.1,10) Laz 1.4.4
CPU-Target: 32/64Bit
Wohnort: Dresden

Re: Grid füllen durch Array

Beitrag von BlueWollThingy »

Vielen Dank, für die Hinweise!
@michl das weiß ich und das wäre mit einem DBGrid auch kein Ding, nur das Problem ist, dass ich es über ein Array machen soll... Aber sonst war deine Deutung vollkommen richtig und ich denke, dass ich das auch so angehen werde!

Antworten