Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: HipSlu am 20.06.03 - 15:35:23

Titel: Combobox im Web
Beitrag von: HipSlu am 20.06.03 - 15:35:23
Hallo,

ihr seid - hoffe ich - meine letzte Rettung.....

folgendes Problem:

ich will - siehe bild - im web 2 comboboxen erstellen. die linke box bekommt einen berechneten wert zugewiesen, in die linke kann man mittels den buttons seine auswahl treffen.

ich habe das nun mal mittels java-script gelöst, was aber leider nicht ganz funkt, da die selektion nicht im dokument abgespeicher wird (was ja auch eigentlich klar ist, da durch das script alles im browser läuft und nicht am server).

soweit, sogut - aber wie macht man das richtig?

sollte ich das nicht gut erklärt haben... bitte gleich fragen!
Titel: Re:Combobox im Web
Beitrag von: meichhorner am 20.06.03 - 18:54:09
Hy,

ich habe da mal sowas entwickelt muss das aber zuerst raussuchen.

Hoffe es reicht dir wenn du das Beispiel erst am Montag bekommst ???

Cu
Martin ;)
Titel: Re:Combobox im Web
Beitrag von: harkpabst_meliantrop am 21.06.03 - 00:56:42
Du müsstest dir entsprechenden Code auch im Domino Directory abgucken können.

Ich bin mir nicht mehr sicher, ob da in R5 schon so ähnlich aussieht, aber zumindest unter R6 ist die Zuordnung von Personen zu Gruppen im Web Client ganz ähnlich gelöst (mal wieder zu faul zum selbst nachdenken ...).

Titel: Re:Combobox im Web
Beitrag von: HipSlu am 23.06.03 - 08:34:39
@meichhorner: das wäre natürlich super - montag reicht vollkommen!
@harkpabst_meliantrop: ah, guter tip - ich werd gleich mal schauen....
Titel: Re:Combobox im Web
Beitrag von: meichhorner am 23.06.03 - 09:31:55
Hy,

du solltest jetzt Post haben, hoffe das Beispiel hilft dir weiter. ;)

Du könntest es ja auch noch hier posten, wenn du es bekommen hast, ich habe hier leider eine zu lahme Verbindung und ausserdem muss ich jetzt für 2 Tage weg.

Cu
Martin
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 23.06.03 - 17:53:16
ok, danke dir!

ich habs mir noch nicht angesehen, aber ich poste es mal:
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 23.06.03 - 18:29:59
 ??? wie hast du has denn gemacht? woher kommt die listbox.js? und die formate.css?

ich komm schon noch drauf  ;)
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 24.06.03 - 08:37:42
@meichhorner: nochmals vielen dank, nur leider kann ich es für meinen anwendungsfall nicht verwenden, da auch hier die auswahl ja nicht gespeichert sondern "nur" ein Mail generiert wird.....

Titel: Re:Combobox im Web
Beitrag von: meichhorner am 25.06.03 - 16:21:03
Hy,

das zu erweitern um die Daten zuspeichern sollte nicht mehr das Problem sein.

Woran scheiterst du denn ???

Cu
Martin
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 25.06.03 - 17:52:53
ich scheitere daran, dass ich auch ein rich-text feld habe (http://www.atnotes.de/index.php?board=7;action=display;threadid=9156 ganz unten)...

aber ich habs eh schon fast..... bin dabei, die beiden buttons ">>" und "<<" einfach in einen lotus script agent zu packen, dann ist es ja kein problem (nur da sitz ich noch, weil ich in lotus script ned ganz so fit bin)
Titel: Re:Combobox im Web
Beitrag von: meichhorner am 26.06.03 - 09:00:20
Hy,

falls du Probleme mit dem Script hast, einfach posten ;)

Cu
Martin
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 27.06.03 - 10:24:29
darauf komme ich natürlich gerne zurück.....

Ich habe in der Maske für die beiden Listboxen 4 Felder:

Mon_Left_Choices => Typ Text, versteckt, allow multiple Values. Im Vorgabewert errechne ich mittels DBLookUp alle später zur Verfügung stehenden Auswahlwerte
Mon_Left => Typ Listbox, allow multiple Values. Die Choices werden vom Feld "Mon_Left_Choices" geholt.
Mon_Right_Choices => Typ Text, versteckt, allow multiple Values. Anfangs leer.
Mon_Right => Typ Listbox, allow multiple Values. Die Choices werden vom Feld "Mon_Right_Choices" geholt.

In der Maske selbst ist "Create HTML for all Fields" aktiviert.

Die Grundidee ist also, dass ich somit mittels Script aus den Feldern "Mon_Left_Choices" und "Mon_Right_Choices" alle zur Verfügung stehenden Choices und aus den Feldern "Mon_Left" und "Mon_Right" alle im Web ausgewählten Einträge auslesen kann (und diese dann natürlich dementsrechend ändern kann)

Dann habe ich schon mal mit dem ">>" Button begonnen - dieser Ruft mittels @Command([ToolsRunMacro] den Agent "Select" auf....

Sub Initialize
   Dim s As New NotesSession   
   Dim doc As NotesDocument   
   Dim item As NotesItem
   Dim i As Integer
   Dim Left_Selected As  NotesItem
   Dim Right_Selected As NotesItem
   Dim Left_All As NotesItem
   Dim Right_All As NotesItem
   
   Set db = s.CurrentDatabase
   Set doc = s.DocumentContext   
   
   Set Left_Selected = doc.GetFirstItem( "Mon_Left" )   
   Set Right_Selected = doc.GetFirstItem( "Mon_Right" )   
   Set Left_All = doc.GetFirstItem( "Mon_Left_Choices" )   
   Set Right_All = doc.GetFirstItem( "Mon_Right_Choices" )   
   
   
   Result = Move_IT(Left_Selected.Values, Left_All.Values, Right_All.Values)
   
   Set item = doc.ReplaceItemValue("Mon_Right_Choices", Result)   
   Call doc.Save(False, False)      
End Sub

Function Move_IT(Was, Von, Zu)
   
   Move_IT = Arrayappend( Zu, Was )
      
End Function

Das setzen der Auswahl von der linken auf die rechte Box funktioniert somit also schon mal..... was mir jetzt noch fehlt ist folgendes:
1) die von der "Quell-ListBox" übertragene Auswahl von den zu Verfügung stehenden Einträgen entfernen
2) die "Ziel-ListBox" sortieren

wie ich 1) lösen soll, weiss ich noch nicht wirklich... zu 2) hab ich schon einige beispiele gefunden, die aber noch nicht wirklich funktionieren
Titel: Re:Combobox im Web
Beitrag von: meichhorner am 27.06.03 - 18:04:04
Hy,

das geht um vieles einfacher.

Bei meinem Biespiel mit dem Javascript und den Argumneten für den Agent werden die Feldwerte ja dem Agnet übergeben und dieser sendet dann das Mail.

Du Kannst aber den maildoc.send rausnehmen und stattdessen z.B. folgendes reinschreiben dann bekommst du auch ein Dokument mit den gewünschten Daten und Feldern. ;)

z.B.

maildoc.Listbox1 = AgentArgs("Add")
maildoc.Listbox2 = AgentArgs("Delete")
call maildoc.save(False,False)

Ich will dich jetzt nicht in den Wahnsinn treiben :-\ aber dass sind 5 Minuten Anpassungsaufwand. ;)
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 30.06.03 - 06:42:09
nein nein, da hast du schon recht.... aber wie ich schon sagte, hab ich da leider unter anderem auch ein rich text feld - und das kann ich ja nicht dem agent übergeben....
Titel: Re:Combobox im Web
Beitrag von: meichhorner am 30.06.03 - 07:52:09
Oh, sorry das habe ich wohl übersehen :-\
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 30.06.03 - 10:10:47
... kannst du mir vielleicht trotzdem weiterhelfen?  ::)
Titel: Re:Combobox im Web
Beitrag von: meichhorner am 30.06.03 - 11:56:03
Hast du es schon mal über DocumentContext probiert? ::)

Dim session As NotesSession
Set session = New NotesSession
Dim doc As NotesDocument
Set doc = session.DocumentContext
Print "<H2>" + doc.a(0) + "</H2>"
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 30.06.03 - 17:26:27
 ??? was soll das bringen? das gibt mir ja "nur" das feld a aus, oder? was ich brauchen würde wäre hilfe beim script bei den beiden buttons ">>" und "<<"...
Titel: Re:Combobox im Web
Beitrag von: meichhorner am 01.07.03 - 08:52:08
Hy,

mit doc.a(0) solltes du den selektierten Eintrag der Listbox erhalten und den kannst du dann aus der Listbox entfernen und in die andere rüberschieben.

Martin
Titel: Re:Combobox im Web
Beitrag von: HipSlu am 01.07.03 - 17:33:30
guter plan  :)
aber um ehrlich zu sein, ist genau das mein problem
Titel: Re:Combobox im Web
Beitrag von: meichhorner am 03.07.03 - 09:32:12
Hy,

verdammt irgendwie sollte das doch hinzubekommen sein >:(

Sag mir Bescheid wenn du was gefunden hast. ;)