LightSwitch – Genauer hingeschaut Teil 2 (Teil 3)
Kommentare

Externe Datenquellen, die nicht die primäre Datenquelle sind, müssen explizit gespeichert werden. Ansonsten werden jegliche veränderten Daten nicht persistent gemacht. Mit anderen Worten: Wenn Sie die

Externe Datenquellen, die nicht die primäre Datenquelle sind, müssen explizit gespeichert werden. Ansonsten werden jegliche veränderten Daten nicht persistent gemacht. Mit anderen Worten: Wenn Sie die im vorliegenden Beispiel eingebundene SharePoint-Liste auch tatsächlich aktualisieren wollen, müssen Sie explizit eine Speichermethode programmatisch aufrufen. Listing 1 zeigt einen solchen Aufruf. Es genügt, in der gewünschten Methode über das DataWorkspace-Objekt die gewünschte Datenquelle anzusprechen und deren SaveChanges-Methode auszuführen. In diesem Moment werden die Daten mit der SharePoint-Liste synchronisiert.

Listing 1: Explizite Speicherung der externen Datenquelle

public partial class DepartmentDetail
{
  partial void DepartmentDetail_Saving(ref bool handled)
    {
        this.DataWorkspace.WorkgroupDataSource.SaveChanges();
    }
}  

Der folgende Abschnitt beschreibt, wie die bereits in Listing 1 eingesetzte Ereignisbehandlung gezielt eingesetzt werden kann und welche Möglichkeiten sich dabei bieten. Wie gewohnt bietet LightSwitch eine sehr zugängliche und intuitiv zu verwendende Möglichkeit, Ereignisse programmatisch zu behandeln, indem es eine Liste aller Methoden anbietet. Im Entitäten-Designer befindet sich im Menü am oberen Fensterrand eine Schaltfläche, WRITE CODE. Ein einfacher Klick auf die Schaltfläche öffnet den Codeeditor mit der Code-Behind-Ansicht des zu bearbeitenden Screens. Wenn man aber auf den Pfeil am rechten Rand der Schaltfläche klickt, so öffnet sich ein DropDown-Menü, das die Auswahl aller verfügbaren Methoden ermöglicht, die überschrieben werden können (Abb. 7).

Abb. 7: Write Code mit Auswahlliste der überschreibbaren Methoden
Abb. 7: Write Code mit Auswahlliste der überschreibbaren Methoden

In Bezug auf Abbildung 7 geht es um die Behandlung von Screen-Events. Genauso gut kann man aber auch die Ereignisse einer Datenquelle oder einer Abfrage behandeln. Die Vorgangsweise ist dabei stets dieselbe: Doppelklick auf das Element im Solution Explorer, gefolgt vom Klick auf den Pfeil neben WRITE CODE in der Entwurfsansicht. Je nachdem, welchen Ereignistyp man behandeln möchte, bietet die Auswahlliste unterschiedliche Kategorien an (Tabelle 1).

Kategorie Data Events Screen Events Query Events
General Methods x  x x
Security Methods x  x
Query Methods x    
Impl. Security Methods x    
Data Source Methods x    
Property Methods x    
Button Methods   x  
Collection Methods x  

 

Tabelle 1: Kategorien der Ereignisse, bei denen Sie als Entwickler eingreifen können

Wenn das Menü aufgeklappt ist, kann man einfach die Methode in der entsprechenden Kategorie wählen (Tabelle 1), die überschrieben werden soll. Es öffnet sich daraufhin der Codeeditor und erstellt ein Grundgerüst einer derartigen Methode. Hier finden sich praktisch alle Methoden für alle Ereignisse, die im Zusammenhang mit Datenquellen, Screens und Abfragen auftreten können. Tendenziell werden die Datenereignisse dabei am häufigsten genutzt, da dort oftmals vor der Speicherung Validierung gefragt ist, aber auch die Behandlung von Nebenläufigkeit und Changesets ein Thema sein kann.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -