Domino 9 und frühere Versionen > ND8: Entwicklung

Listbox aus Dialogbox auslesen

(1/4) > >>

sudsaat:
Hi zusammen,

habe gerade ein kleies Problem, ich habe eine Form (Dialog_Erp_Listen) die ich eine Listbox enthält. Wie kann ich nachdem der User "OK" klickt den ausgewählten Wert auslesen?

Die Dialogbox wird folgenermaßen erzeugt:


--- Code: ---
set dialogDoc = db.createDocument()

Call dialogDoc.Replaceitemvalue("DialogName", dialogName)
Call dialogDoc.Replaceitemvalue("DialogHead", strHead)
Call dialogDoc.replaceitemvalue("DialogData", strTable)

If (ws.Dialogbox("(Dialog_Erp_Listen)", true, true, false, false, True, False, "Dialog Auwahl Steuerschlüssel", dialogDoc, true, false, True) = true) Then

   'Hier möchte ich den Wert einer Auswahlliste auslesen

end if

--- Ende Code ---

Die Listbox bezieht ihre Werte aus dem Feld "strTable" mit der Funktion:

--- Code: ---@Explode(DialogData; "+&")
--- Ende Code ---

Interessant ist die Tatsache, dass der OK Button dazu führt, dass die Selektion der Listbox verloren geht?!?

Gebe ich im queryclose() der Dialogmaske das Feld aus, so ist es im Falle von "Cancel" selektiert, im Falle von "OK" wird der Fokus vorher entfernt und ich erhalte einen leeren String (oder Variant)

Ist bestimmt ein Denkfehler in meinem Ansatz (oder ein Anfängerfehler :-)

Kennt jemand eine Lösung?

Im Voraus vielen Dank
Thomas :)

Peter Klett:
If (ws.Dialogbox("(Dialog_Erp_Listen)", true, true, false, false, True, False, "Dialog Auwahl Steuerschlüssel", dialogDoc, true, false, True) = true) Then

   'Hier möchte ich den Wert einer Auswahlliste auslesen
   wert = dialogDoc.DialogData
end if


sudsaat:
das Feld in der DialogMaske heißt "DialogSelection" und wird aus dem Feld "DialogData" befüllt.

Den Wert "DialogData" wie in deinem Beispiel bekomme ich über diesen Weg, aber das ist die gesamte Liste getrennt mit neuer Zeile, ich möchte aber nur den Wert der in dem Feld "DialogSelection" angegeben ist.

Über den "normalen" Aufruf mit

MsgBox dialogDoc.DialogSelection(0)

bekommen ich einen leeren Wert ""

Hat jemand noch eine Idee?
Grüße

Peter Klett:
So würde es aber funktionieren (mit dialogDoc.DialogSelection, den Feldnamen konnte ich nicht wissen, weil davon nichts in Deiner Anfrage stand). Wenn da kein sinnvolles Ergebnis herauskommt, machst Du Dir wohl das Feld in der Maske Dialog_Erp_Listen kaputt, solltest also in der Maske nach dem Fehler suchen.

Peter Klett:
If (ws.Dialogbox("(Dialog_Erp_Listen)", true, true, false, false, True, False, "Dialog Auwahl Steuerschlüssel", dialogDoc, true, false, True) = true) Then

Der rote Parameter ist noFieldUpdate

Boolean. Optional. Specify True if you don't want to pass any edits from the dialog box to the underlying form (for example, if you're passing the edits somewhere else in a Queryclose script for the dialog box form). If you specify False or omit this parameter, the edits are passed to the underlying form.

Vielleicht mal mit False probieren ...

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln