Domino 9 und frühere Versionen > ND6: Entwicklung

Löschen von Dokumenten ohne aktualisieren

(1/2) > >>

Gogun_Beokz:
Hallo Zusammen,

ich hab im Forum mir schon einige Threads angeschaut aber nichts gefunden was richtig passt. Ich möchte einfach nur das der Benutzer beim drücken der entfernen Taste direkt gefragt wird ob die Dokumente aus der Datenbank gelöscht werden sollen oder nicht. Ohne F9 zu drücken oder die Datenbank zu verlassen, ich habe dazu folgendes geschieben.

Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
   Dim ws As New notesuiworkspace
   Dim uiview As notesuiview
   Dim view As NotesView   
   Dim doccoll As notesdocumentcollection
   Dim db As notesdatabase
   
   Set uiview = ws.CurrentView
   Set view = uiview.View
   
   Set db = source.Database
   Set doccoll = source.documents
   Call doccoll.RemoveAll(True)
   Call ws.ReloadWindow   
End Sub

Hier lösche ich das Dokument direkt, habe zuvor versucht einfach einen view.refresh zu machen oder einen Workspace.reload durchzuführen. Jedoch kommt dann nicht die Abfrage. Also habe ich mir gedacht, lösche ich die Dokumente einfach direkt ohne Abfrage (Skript oben). Man drückt nun entf und schon verschwindet das Dokument... drückt man nun jedoch F9 dann wird man gefragt ob das Dokument aus der Datenbank löschen will. Klickt man auf "nein" ist es trotzdem weg da ichs schon gelöscht habe. Das hat jetzt auch nichts mit dem Hacken "wiederherstellbare Löschungen zulassen" zu tun.

Hat jemand ne Idee?

0xse:
Call notesUIWorkspace.ViewRefresh

Würd ich mal so vorschlagen :)

Oder vor dem Löschen die gelöscht Markierung vom Dokument entfernen.

Gogun_Beokz:
Danke,

also das mit dem ws.viewrefresh habe ich ausprobiert wollte aber nicht funktionieren. Die andere Idee ist gut aber funktioniert bei mir nicht vielleicht habe ich aber auch irgentwas falsch gemacht:

Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
   
   Dim ws As New notesuiworkspace
   Dim uiview As notesuiview
   Dim view As NotesView   
   Dim doccoll As notesdocumentcollection
   Dim db As notesdatabase
   
   Set uiview = ws.CurrentView
   Set view = uiview.View
   
   Set db = source.Database
   Set doccoll = source.documents
   
   Call uiview.DeselectAll   
   Call doccoll.RemoveAll(True)
   Call ws.ReloadWindow   

End Sub

0xse:
Probier es mal mit ws.ViewRefresh nach dem Löschen :)

Gogun_Beokz:
ne macht keinen Unterschied... ist mir nicht ganz klar was das ViewRefresh so macht nach meiner Erfahrung...

Garnichts!

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln