dataLink im XbpBrowse
Verfasst: Di, 12. Apr 2016 16:07
Hallo,
ich arbeite an einem Formular in dem links ein XbpBrowse 2Spalten aus einer temp.Tabelle enthält (STATUS + Name) und rechts daneben ist das Eingabe-Formular mit den SLEs, Checkbox, Dropdown u.ä. Für das Abspeichern der Werte habe ich mich jetzt nach Startschwierigkeiten dafür entschieden auf das EVENT xbeBRW_ItemMarked zu reagieren. Dadurch musste ich mir die vorherige Position in der DB und im XbpBrowse merken - diese setzen -> Werte aus Formular in den Datensatz speichern - und wieder zurück zu Datensatz/Zeile der nach ItemMarked gesetzt war.
Das funktioniert auch. Jetzt dachte ich mir das müsste doch eigentlich auch über den DataLink zu bewerkstelligen sein den man dem AddColumn mitgibt?
folgendes habe ich jetzt versucht aber das funktioniert nicht:
Ich vermute mal ich habe noch nicht richtig verstanden wann das SetData diesen Codeblock aufruft?
Wenn eine andere Zeile angeklickt wird im XbpBrowse - dachte ich mir - soll vorm Wechsel die vorherige Zeile die Daten aus den Formular-Feldern nehmen und in die DB-Tabelle zurückschreiben..
danke wieder mal für eure Hilfe...
ich arbeite an einem Formular in dem links ein XbpBrowse 2Spalten aus einer temp.Tabelle enthält (STATUS + Name) und rechts daneben ist das Eingabe-Formular mit den SLEs, Checkbox, Dropdown u.ä. Für das Abspeichern der Werte habe ich mich jetzt nach Startschwierigkeiten dafür entschieden auf das EVENT xbeBRW_ItemMarked zu reagieren. Dadurch musste ich mir die vorherige Position in der DB und im XbpBrowse merken - diese setzen -> Werte aus Formular in den Datensatz speichern - und wieder zurück zu Datensatz/Zeile der nach ItemMarked gesetzt war.
Code: Alles auswählen
oPart := oDlg:childFromName( FORM_BROWSE_MOD )
SELECT 260
nRecVor := RecNo()
nRowVor := oPart:rowPos
DbGoto( nRecNo )
oPart:rowPos := nRowNo
DbRLock()
REPLACE AKTIV WITH bAktiv
REPLACE MODELL WITH cName
DbCommit()
oBrs:refreshCurrent()
oBrs:deHilite()
DbGoto( nRecVor )
oBrs:rowPos := nRowVor
oBrs:refreshCurrent()
oBrs:hilite()
folgendes habe ich jetzt versucht aber das funktioniert nicht:
Code: Alles auswählen
oBrs:addColumn( { |x| IIf( x==nil, AKTIV, AKTIV:=SetAppWindow():childFromName( FORM_MOD_CHECK_AKTIV ):getData() ) }, , aKopf[1] )
oBrs:addColumn( { |x| IIf( x==nil, rtrim(MODELL), MODELL:=SetAppWindow():childFromName( FORM_MOD_EDIT_NAME ):getData() ) }, , aKopf[2] )
Wenn eine andere Zeile angeklickt wird im XbpBrowse - dachte ich mir - soll vorm Wechsel die vorherige Zeile die Daten aus den Formular-Feldern nehmen und in die DB-Tabelle zurückschreiben..
danke wieder mal für eure Hilfe...