Abhängige Eigenschaften per Binding

Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abhängig von der Änderung anderer Eigenschaften ebenfalls ändern können. Dies gelingt, mitunter über kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So können Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erhält, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False übernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert – dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die Möglichkeiten für den Ersatz von Triggern durch Binding auf.

Weiterlesen

EDM: Ausnahmen beim Speichern behandeln

Die Validierung bei der Eingabe von Daten ist eines der wichtigsten Themen bei der Erstellung benutzerfreundlicher Anwendungen. In diesem ersten Artikel zu diesem Thema wollen wir uns darauf beschränken, solche Eingabefehler abzufangen, welche durch die Restriktionen im Datenmodell und entsprechende Fehleingaben entstehen. Das sind beispielsweise Fehler, die auftreten, weil der Benutzer keinen Wert in ein Feld eingibt, dass nicht leer sein darf oder der Datentyp des Feldes nicht mit dem eingegebenen Wert korrespondiert.

Weiterlesen

SQL Server: Datenbanken per Skript kopieren

Die Beispieldatenbanken auf Basis des SQL Servers sollen Sie schnell und unkompliziert auf Ihrem System nutzbar machen können. Leider geht das nicht immer so einfach – zum Beispiel, weil verschiedene Versionen des SQL Servers uns einen Strich durch die Rechnung machen. Also stellen wir in diesem Artikel eine einfache Lösung vor, wie Sie die Beispieldatenbanken nach dem Download schnell nutzen können – nämlich indem wir diese als Skript bereitstellen, das die komplette Definition der Datenbank sowie die enthaltenen Daten anlegt.

Weiterlesen

InputBox im Eigenbau

Wer von Access/VBA kommt, kann unter WPF die “MsgBox”-Anweisung leicht mit den Funktionen der Klasse “MessageBox” ersetzen. Allerdings sucht man vergeblich nach einem Pendant zur InputBox-Funktion, die ja ein einfaches Eingabefenster für die Eingabe eines Textes zur Verfügung stellt. Doch das ist kein Problem: Unter C#/WPF können Sie ja eigene Fenster erstellen. Warum dann nicht ein Fenster mit Titel, Text, Eingabefeld und OK/Abbrechen-Schaltflächen bauen und dieses bei Bedarf aufrufen

Weiterlesen

Ribbons mit WPF

Der geneigte Access-Entwickler weiß mit dem Begriff Ribbon natürlich etwas anzufangen. Aber gibt es so etwas auch für .NET-Anwendungen Ist das nicht ein reines Office-Feature Immerhin gibt es ja auch in der Benutzeroberfläche von Visual Studio kein Ribbon, sondern eine Menüleiste und Symbolleisten, wie Sie sie von älteren Office-Versionen bis Office 2003 kennen (man munkelt, einige Entwickler wünschten sich die Menüleisten zurück …). In diesem Artikel schauen wir uns an, wie weit es mit dem Ribbon unter .NET und speziell unter WPF bestellt ist und welche Unterstützung uns Visual Studio für die Programmierung von Ribbons bietet.

Weiterlesen

EDM: Lookup-Kombinationsfelder

Im Artikel “Einfaches Detailfenster” sehen wir uns an, wie Sie per Drag and Drop die Daten einer Kundentabelle über ein Entity Data Model zu einem Fenster hinzufügen und dieses mit Navigationsschaltflächen ausstatten. Eine Kleinigkeit fehlt dort noch: Die Umwandlung des Textfeldes mit den Anreden in ein entsprechendes Kombinationsfeld, mit dem sich die Anreden auswählen lassen. Dies reichen wir im vorliegenden Artikel nach.

Weiterlesen

EDM: 1:n-Beziehung als Parent-Child-Ansicht

Eine der unter Access ganz einfach abzubildenden Hierarchien zweier Tabellen ist die 1:n-Beziehung in einem Haupt- und einem Unterformular. Auch unter WPF mit den Daten aus einem Entity Data Model lässt sich dies gut abbilden. Wir schauen uns in diesem Artikel an, wie es funktioniert und was Sie beim Anzeigen der Daten beachten müssen. Als Beispiel nutzen wir die Kategorien der Datenbank im Hauptfenster und die der aktuellen Kategorie zugeordneten Artikel in einer Listenansicht.

Weiterlesen

WPF/EDM: Kundendetails

Wenn Sie aus einer Kundenübersicht die Details eines Kunden anzeigen oder einen neuen Kunden anlegen möchten, benötigen Sie ein geeignetes weiteres Fenster. Dieses soll die Daten des zu bearbeitenden Kundendatensatzes oder auch einen neuen, leeren Datensatz anzeigen – je nach Anforderung. Wie Sie dies auf Basis von Daten aus einem Entity Data Model erledigen, zeigt dieser Artikel.

Weiterlesen

SQL Server-Interaktion mit dem Profiler verfolgen

Wenn Sie per ADO.NET, LINQ to Entities oder anderen Zugriffstechniken auf die Datenbank eines SQL Servers zugreifen, werden die von Ihnen programmierten Codezeilen meist im Hintergrund in SQL-Befehle umgewandelt. In vielen Fällen kann es interessant sein, was dort tatsächlich geschieht. Ein geeignetes Werkzeug ist der SQL Server Profiler, der zwar demnächst ausläuft, aber eine schnelle Möglichkeit der Nachverfolgung liefert.

Weiterlesen

LINQ to Entities: Daten bearbeiten

In den vorangegangenen Ausgaben von DATENBANKENTWICKLER haben Sie bereits erfahren, wie Sie per ADO.NET auf die Daten der Tabellen einer Datenbank zugreifen. Nun nutzen wir nicht mehr direkt ADO.NET, sondern das Entity Framework als Datenlieferant, welches eine ganz andere Art des Zugriffs ermöglicht. Dieser Artikel zeigt, wie Sie die per Entity Data Model bereitgestellten Daten mit LINQ to Entities ändern, löschen und neu anlegen.

Weiterlesen