| |
VB.NET - FortgeschritteneSynchronisation mit Sharepoint - RowUpdated-Handler abfangen | | | Autor: Martin_CH | Datum: 13.04.12 10:35 |
| Hallo Zusammen
Ich hätte da mal wieder ein kleines Logikproblem...
Gegeben ist eine Datatable, in der Datensätze aus einer Sharepoint-Liste vorhanden sind. Wenn diese geändert oder neue hinzugefügt werden, dann sollen diese in Sharepoint auch entsprechend aktualisiert werden (mit Webservices). Ob der Datensatz in Sharepoint aktualisiert wurde, ist in der Spalte "spstatus" enthalten, die jeweils einen Eintrag für den Status (angezeigt mit DataRowStatus, z.B. DataRowStatus.New bzw. den Integer-Wert dazu, wenn ein Datensatz noch nicht nach Sharepoint geschrieben wurde) enthält.
Dazu habe ich auf der DataTable einen RowUpdated-Eventhandler registriert, der die jeweilige Row an einen Backgroundworker übergibt, der BGWorker führt die Aktualisierung in Sharepoint aus und ändert dann die Spalte "spstatus" auf DataRowStatus.Unchanged bei erfolgreicher Durchführung. Damit der RowUpdated-Handler bei dieser Änderung nicht wieder aufgerufen wird, arbeite ich mit einem Flag _TriggeredFromCode, das vor der Änderung auf True und nach dem Aufruf von AcceptChanges wieder auf False gesetzt wird.
Am Anfang des EventHandlers wird mit
If _TriggeredFromCode = True then Exit Sub dieser gleich wieder verlassen, wenn eine Datensatzänderung im Code durchgeführt wurde.
Jetzt hab ich das Problem, dass, je nach Antwortzeit des Sharepoint-Servers mehrere geänderte Datensätze vorhanden sind und es scheint vorzukommen, dass ein BGWorker einen Datensatz übermittelt, das Flag _TriggeredFromCode auf True setzt und den spstatus ändert. Genau im gleichen Augenblick wird der EventHandler für die nächste geänderte Row aufgerufen und da das Flag in diesem Moment auf True steht, wird keine weitere Aktion durchgeführt und der Datensatz wird nicht übermittelt.
Hat mir jemand einen Tipp, wie ich dieses Problem elegant lösen kann bzw. wo mein Fehler liegt?
Ich hoffe, ich konnte mein Problem einigermassen verständlich übermitteln und freue mich Eure Vorschläge.
Grüsse,
Martin
PS: Sorry für den Doppelpost: ich hab's zuerst fälschlicherweise im VB-Forum gepostet und um Verschiebung gebeten, aber als der Post nach zwei Tagen immer noch dort drin war, hab ich ihn halt noch einmal erfasst... | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|