Startseite › Foren › Deutsches LiveCode-Forum › Datagrid – auslesen › Antwort auf: Datagrid – auslesen
April 3, 2018 um 19:34 Uhr
#5046
Wie gesagt, mir ist schon klar, was Du genau machen willst.
OK, hier mal eine funktionierende Funktion, die Dir genau diese infos aus dem Datagrid herauszieht.
Das sollte im Stackscript liegen:
function artikel_aus_datagrid
## Wir arbeiten mit dem ARRAY:
put the dgData of grp "artikel" of card "import" into artikel_array
## Wir müssen wissen, wieviele "Datensätze" das Datagrid beinhaltet.
## Dafür fragen wir die Anzahl der KEYS des Array ab:
put the keys of artikel_array int tKeys
put the num of lines of tKeys into tAnzahl
## Nun gehen wir durch jeden einzelnen Datansatz des Datagrids und erstellen eine
## neue Variable mit den benötigten Infos: Artikelnummer, Bezeichnung1..., Bezeichnung4
## Diese liefern wir dann in dieser Funktion zurück
put empty into ReturnWert
## Nun "loopen" wir durch alle Datensätze
repeat with i = 1 to tAnzahl
## In jedem Durchlauf wird i durch die laufende Nummer ersetzt!
put artikel_array[i]["Teil"] after ReturnWert
## wir "kleben" die einzelnen Daten mit einem KOMMA aneinander:
put "," & artikel_array[i]["Bezeichnung"] after ReturnWert
put "," & artikel_array[i]["Bezeichnung 2"] after ReturnWert
put "," & artikel_array[i]["Bezeichnung 3"] after ReturnWert
## Hier müssen wir am Ende eine neue Zeile einfügen, daher das CR
put "," & artikel_array[i]["Bezeichnung 4"] & CR after ReturnWert
end repeat
## So nun haben wir am Ende der Variablen ReturnWert aber eine leere Zeile, das letzte CR,
## die wir nun weglöschen:
delete char -1 of ReturnWert
## Fertig, nun können wir die neuen Daten zurückliefern:
return ReturnWert
end artikel_aus_datagrid
Nun können wir, wann immer nötig:
…
put artikel_aus_datagrid() into fld „was auch immer“
…
Deine Aufgabe ist nun, diese Funktion zu verstehen und nachzuempfinden, was, wie und warum ich es so gemacht haben! Denn das hier ist leider der einfachste Teil deines Problems. 🙂
Morgen geht es dann weiter…
Gruß
Klaus