Domino 9 und frühere Versionen > ND6: Entwicklung
Embedded View
LordMacBee:
@cpo
hmm. habe kleinen test gefahren. Embedded view in einer Page (vielleicht liegts daran, tut der ganzen Sache aber keinen Abbruch)
Billig script hinter action button:
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim Collection As NotesDocumentCollection
Dim Doc AS NotesDocument
Set db = Session.CurrentDatabase
Set Collection = db.UnprocessedDocuments
Set Doc = Collection.getFirstDocument
While Not Doc Is Nothing
Msgbox Doc.Form(0)
Set Doc = Collection.getNextDocument (doc)
Wend
ich habe die property 'show selection margin' an und habe einige dokumente markiert. Kriege aber nie was anderes als 0 zurück im collection.count.
Was denkst du, dass ich falsch mache. Villeicht kannst du mal ne variant die funzt posten
Hoodlum:
Hallo!
Also, man kann über einen kleinen Trick in einer EmbeddedView fast alles mit dem selektierten Dokument machen. Es stimmt schon, dass die "unprocessedDocuments" immer 0 zurückgeben; der Trick besteht darin, dass man versucht, das Dokument zu löschen und zuvor über eine oder mehrere Environment-Variablen seine wirkliche Absicht speichert und das eigentliche Löschen über das "QueryDocumentDelete"-Event verhindert und in diesem - mittels der Environment-Variablen - dann entsprechend agiert... und btw. das ganze funktioniert übrigens auch schon unter R5
So, hier die Beschreibung (die gibt es übrigens auch auf notes.net:
http://www-10.lotus.com/ldd/46dom.nsf/0/0454a2d12be2533785256932001f2016?OpenDocument)
1. Button oder Outline (ich glaube mich zu erinnern, dass Outlines am besten funktionieren, da diese nicht den fokus von dem Dokument "wegholen")
REM "Hier legen wir fest, was wir eigentlich machen wollen"
@SetEnvironment("ViewAction";"setUnread");
REM "der folgende Agent versucht das doc zu löschen.."
@Command([ToolsRunMacro];"IsEmbeddedView")
2. isEmbeddedView-Agent
Sub Initialize
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uiview As notesuiview
Set uiview=ws.currentview
'check to see if cursor is in the embedded view
If Not (uiview Is Nothing) Then
Call ws.currentdocument.clear
End If
End Sub
3. QueryDocumentDelete Code
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim s As New NotesSession
Dim doc As NotesDocument
Dim ViewAction as String
ViewAction = s.GetEnvironmentString("ViewAction")
if ViewAction <> "" then
Set doc = source.documents.getfirstdocument 'DAS IST DAS SELEKTIERTE DOKUMENT!!!!
if ViewAction = "setUnread"
'do something
else
'do something else and so on...
end if
'verhindert das löschen
continue = False
'ViewAction zurücksetzen
s.SetEnvironmentVar("ViewAction","")
End If
End Sub
Für mich funktioniert das wunderbar!! Angehängt eine Abbildung, wie wir das ganze einsetzen...
HaPe:
--- Zitat von: LordMacBee am 16.06.03 - 16:40:25 ---ich habe die property 'show selection margin' an und habe einige dokumente markiert. Kriege aber nie was anderes als 0 zurück im collection.count.
--- Ende Zitat ---
Hast du auch das Flag "show action bar" bei dem embbedet view gesetzt und deinen Kode in eine Action des views gesetzt?
Dann geht es.
Gruß HaPe
LordMacBee:
Hallo,
Das ist schon richtig, dass man über die environment variablen beinahe alles mit einem dokument machen kann. Meine Kritik an dem Konzept der embedded view war, dass sie nicht wie eine normale View funktionniert und man sich eben mit dirty tricks behelfen muss. Ausserdem gibt es situationen, in welcher man eben doch mehere dokumente gleichzeitig bearbeiten muss, also eine collection braucht. (Sprich: der Benutzer hat null Schnall, dass es sich bei der entsprechenden View um eine 'embedded' view handelt und dass da seine Feautres nicht funktionnieren.
Falls jemand eine Möglichkeit gefunden hat, mehrere dokumente auf obige Art zu bearbeiten, möge dies hier kundtun :-)
Danke für die Beiträge
Macbee
harkpabst_meliantrop:
Man sollte vielleicht einfach akzeptieren, dass Embedded Views keinesfalls dazu gedacht sind, herkömmliche Views zu ersetzen, sondern einfach ganz andere neue Möglichkeiten bieten.
Ganz besonders auch im Browser.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln