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