Domino 9 und frühere Versionen > Entwicklung

Leserfeld mittels LS füllen

(1/3) > >>

DrNotes:
Hallo Leute,

ich bin am verzweifeln:

Meine Testumgebung:
----------------------------
Eine Maske hat ein Feld "AlleLeser" das mittels einer Schaltfläche gefüllt werden soll (also die Schaltfläche kopiert den Inhalt des Strings Text in das Feld AlleLeser .

*AlleLeser: Typ = Leser, Bearbeitbar, Mehrfachwerte zulassen, Werte trennen bei Eingabe von Komma

* Schaltfläche:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As New NotesDatabase( "", "" )   
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim Text As String

Set uidoc = workspace.CurrentDocument

Text = "User1/Domain, User2/Domain, User3/Domain, User4/Domain, User5/Domain, User6/Domain, User7/Domain, User8/Domain, User9/Domain, User10/Domain, User11/Domain"
Call uidoc.FieldSetText( "AlleLeser", Text)
End Sub

Wenn ich die Schaltfläche drücke, steht im Feld AlleLeser lediglich:
"User1/Domain, User8/Domain, User9/Domain, User10/Domain, User11/Domain"

Das ganze funktioniert lediglich, wenn ich für
Text="User1/Domain, User2/Domain, User3/Domain, User4/Domain, User5/Domain" definiere.

Sobald das Feld Text größer ist, beinhaltet das Feld AlleLeser nicht mehr den kompletten String.

Ich blick echt nicht durch?

Könnt ihr mir vielleicht helfen, oder ist das wieder einmal eine Laune des 5.0.2.c Clients?

Danke im voraus!

TMC:
Ich muss sagen, dass ich mit der FieldSetText-Methode eigentlich nie arbeite, ich persönlich bevorzuge da das Backend. Daher kann ich auch das Verhalten nicht bestätigen, aber grundsätzlich klingt es beim ersten Lesen Deines Code für mich so, dass es funktionieren sollte.

Na ja, ich würde es über ein Array lösen, also:

Dim doc as NotesDocumet
Set doc = uidoc.Document

Dim strTextArray(9) as String
strTextArray(0) = "User1/Domain"
strTextArray(1) = "User2/Domain"
...
strTextArray(9) = "User10/Domain"

Call doc.ReplaceItemValue("AlleLeser", strTextArray)

Semeaphoros:

--- Zitat von: TMC am 29.06.05 - 21:09:39 ---Call doc.ReplaceItemValue("AlleLeser", strTextArray)

--- Ende Zitat ---

Da würde ich dann aber so:

item = doc.ReplaceItemValue("AlleLeser", strTextArray)
item.isReaders = True

TMC:
danke, das hat Sinn (auch wenn hier vermutlich wohl letztendlich dann über @Commands / Frontend gespeichert wird).

Semeaphoros:
Es macht vor allem deshalb Sinn, weil man ja nicht ausschliessen kann, dass dann doch plötzlich ein Prozess per Backend speichert. Ich hab jetzt aber keine Ahnung, ob das Speichern übers Frontend bei einem bestehenden Item, das im Frontend nicht geändert wurde, auch tatsächlich setzt. Man kann Gründe für beide Verhaltensweise geltend machen .... vielleicht hat das ja schon jemand probiert?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln