Startseite › Foren › Deutsches LiveCode-Forum › Datagrid – auslesen
- Dieses Thema hat 17 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 7 Jahren, 1 Monat von Klaus Major.
-
AutorBeiträge
-
-
November 3, 2017 um 18:11 Uhr #2570
Hallo Zusammen,
und schon kommt die nächste Frage (peinlich).
Wie kann ich aus einem Datagrid Daten einer Line in ein Field übergeben.
Gerne würde ich in diesem Field die Artikelnummer eingeben. Nach Eingabe sollte sich der Artikel mit Bezeichnung etc. automatisch vervollständigen.Danke
Andreas
-
November 3, 2017 um 18:58 Uhr #2572
Keine Bange, Datagrids sind nun mal die kompliziertesten Objekte in LC überhaupt!
Wahrscheinlich suchen sich Anfänger das wohl immer zum Einstieg aus!? 😀Möchtest Du Daten aus einer gerade aktuellen (ge-hiliteten) Zeile auslesen?
Oder ganz generell? -
November 3, 2017 um 19:04 Uhr #2574
Wahrscheinlich hast du recht. Aber wenn es nach den Datagrids einfacher wird
ist das ja umso besser…..!Im Endeffekt generell.
Evtl. kannst du mir beide Möglichkeiten aufzeigen (falls nicht zu viel Aufwand für dich)?
Danke
-
November 3, 2017 um 19:14 Uhr #2576
Hallo Andreas,
aber gerne doch! 🙂
Alle Daten am Stück:
…
## Als TAB und CR getrennter Text:
put the dgtext of grp „whatever“ into tTextData
…
## Als ARRAY auslesen
put the dgdata of grp „whatever“ into tBigArray
…
Format des Arrays:
tBigArray[1][„Name der Spalte 1“]
tBigArray[1][„Name der Spalte 2“]
tBigArray[1][„Name der Spalte 3“]
## etc.
## bis N = Anzahl Zeilen im Datagrid:
tBigArray[N][„Name der Spalte 1“]
tBigArray[N][„Name der Spalte 2“]
## etc.Aktuelle Zeile auslesen:
…
## Welche Zeile ist ausgewählt?
put the dghilitedline of grp „whatever“ into AktuelleZeile## Daten dieser Zeile auslesen, immer als ARRAY:
put the dgDataOfLine[AktuelleZeile] into tAktuellesArray
…
Format dieses Arrays:
tAktuellesArray[„Name der Spalte 1“]
tAktuellesArray[„Name der Spalte 2“]
tAktuellesArray[„Name der Spalte 3“]
## etc…Gruß
Klaus
-
November 3, 2017 um 19:26 Uhr #2578
Danke. Setzte ich dieses Skript im Field? mit MouseUp?
Das ist mir noch nicht ganz klar.Muss das Buch von Hauke Fehr doch schneller durcharbeiten :o)
-
November 3, 2017 um 19:29 Uhr #2580
Da der Verlag mir für mein Buch nicht mehr Seiten gewährt hat, komme ich im Buch leider nicht bis zum DataGrid 🙂
Das wäre was für Buch 2 – aber Du kannst auch gerne nochmal den Artikel in diesem Blog zum Thema DataGrid lesen – da erfährst Du auch die Grundlagen!
Hauke
-
November 3, 2017 um 19:33 Uhr #2582
Danke. Setzte ich dieses Skript im Field? mit MouseUp?
Das ist mir noch nicht ganz klar.Kommt darauf an, wann und wo Du das machen möchtest.
Tippe auf einen Button, aber ich kenne auch Deine Anwendung nicht…Beschreibe doch mal eben, was Du genau machen möchtest.
-
November 3, 2017 um 19:44 Uhr #2584
Ich möchte gerne Felder einfügen. In diesen möchte ich die Artikelnummer tippen.
Das Feld sollte nach Eingabe der Artikelnummer die kommplette Bezeichnung aus dem Datagrid mit übernehmen. Hier kommen noch Preise etc. hinzu.
Im Grunde soll es ein Tool zur Angebotsschreibung werden wenn es fertig ist. -
November 3, 2017 um 19:53 Uhr #2586
OK, dann würde ich eventuell einen Button vorschlagen neben dem Feld mit der Artikelnummer.
Ansonsten könntest Du ein Skript für das Feld schreiben, was ausgelöst wird, wenn Du in dem Feld RETURN oder ENTER eingibst.
on returninfield ### Dein Code, der Daten aus dem Datagrid holt, hier... end returninfield
Oder:
on enterinfield ### Dein Code, der Daten aus dem Datagrid holt, hier... end enterinfield
Wenn Du beides haben willst, kannst Du so etwas ins Skript schreiben:
on returninfield ### Dein Code, der Daten aus dem Datagrid holt, hier... end returninfield on enterinfield ### Mach das Selbe wie bei RETURNINFIELD: returninfield end enterinfield
Gruß
Klaus
-
November 4, 2017 um 09:25 Uhr #2592
Hallo Klaus,
danke für deine Antwort. Ich erhalte aber folgenden Fehler in Zeile:
put the dgDataOfLine[AktuelleZeile] into tAktuellesArray
field „auswahl“: compilation error at line 8 (Expression: bad factor), char 5Hier das Skript in meinem Field „auswahl“
on returninfield
### Dein Code, der Daten aus dem Datagrid holt, hier…## Welche Zeile ist ausgewählt?
put the dghilitedline of grp „text“ into AktuelleZeile## Daten dieser Zeile auslesen, immer als ARRAY:
put the dgDataOfLine[AktuelleZeile] into tAktuellesArray##Format dieses Arrays:
tAktuellesArray[„Teil“]
tAktuellesArray[„Bezeichnung“]
tAktuellesArray[„Bezeichnung 2“]
tAktuellesArray[„Bezeichnung 3“]
tAktuellesArray[„Bezeichnung 4“]
tAktuellesArray[„Mengeneinheit“]
tAktuellesArray[„Bruttopreis“]
## etc…
end returninfieldDANKE
Andreas
-
November 4, 2017 um 09:49 Uhr #2594
Hi andreas,
passiert mir auch oft, es fehlt die genaue Beschreibung (wessen dgdataofline!):
... put the dgDataOfLine[AktuelleZeile] OF GRP "text" into tAktuellesArray ...
Gruß
Klaus
-
November 4, 2017 um 10:17 Uhr #2596
Hallo Klaus,
ok. Fehler ist weg. Ich verstehe noch nicht ganz deine Aussage
##Format dieses Arrays:
tAktuellesArray[„Teil“]
tAktuellesArray[„Bezeichnung“]
tAktuellesArray[„Bezeichnung 2“]
tAktuellesArray[„Bezeichnung 3“]
tAktuellesArray[„Bezeichnung 4“]
tAktuellesArray[„Mengeneinheit“]
tAktuellesArray[„Bruttopreis“]Wie darf ich das verstehen? Das erschliesst sich mir noch nicht so wirklich.
Daten werden ausgelesen und in Array übergeben.Wie lese ich dann die ganze Zeile genau in das Field ein.
Sorry :o)
## etc… -
November 4, 2017 um 10:35 Uhr #2598
Achso, Du benötigst die gesamte Zeile, sorry, hatte ich falsch verstanden.
In dem Fall:... ## Welche Zeile ist ausgewählt: put the dghilitedline of grp "text" into AktuelleZeile ## Nun extrahieren wir die ganze Zeile aus dem TEXT des Datagrids: put the dgtext of grp "text" into AlleDaten put line AktuelleZeile of AlleDaten into fld "wo auch immer..." ## oder AFTER field... ...
Gruß
Klaus
-
November 4, 2017 um 12:55 Uhr #2600
Works !!!
Danke
-
November 4, 2017 um 13:13 Uhr #2602
Doch noch eine kleine letzte Frage.
Welchen Befehl nehme ich, wenn die Zeile direkt nach Auswahl im Datagrid im Feld angezeigt werden soll. Also one retruninfield oder enterinfield.
Danke für deine Geduld mit mir.
Gruß
Andreas
-
November 4, 2017 um 13:34 Uhr #2604
Hi andreas,
schreibe ein Skript für die Datagrid Gruppe selber, NICHT IM Behaviour des Datagrids!
on mouseup put the dghilitedline of me into tZeile put the dgtext of me into tData put line tZeile of tData into fld "wo auch immer..." end mouseup
Gruß
Klaus
-
November 4, 2017 um 13:43 Uhr #2606
Wunderbar !
Danke Klaus
-
November 4, 2017 um 13:49 Uhr #2608
Warte, bis die Rechnung bei Dir eintrudelt! 😀
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.