Konzept und Datenbindung für Masken

ShinmA

Erfahrenes Mitglied
Guten Tag alle miteinander,

in unserer Firma erstellen wir eine Warenwirtschaftssoftware mit Visual Basic 6. Da VB6
allerdings etwas alt ist möchten wir unsere Software neuprogrammieren um a) "Kinderkranktheiten" los zu werden und b) mit neuen Technologien unserer Software mehr
zu ermöglichen. Das .Net Framework mit C# und WPF scheint diese Anforderungen augenscheinlich zu erfüllen.

Nun taste ich mich langsam in die WPF Welt hinein und habe dabei ein Problem mit Datenbindung oder mit dem Konzept von Erfassungsmasken. Um einen einfachen
Einstieg zu haben wollte ich eine Erfassungsmaske erstellen die mehrere Textboxen
enthält, welche die Daten in der DB abspreichen und auch abrufen können. Ich habe versucht das direkt mit Databindung zu realisieren. Ich scheitere daran eine Bindung zwischen Dataset und Controls aufzubauen :confused:

hier ein paar Codeschnipsel:
Code:
//SQL Abfrage
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM erfassung",cmd.Connection );
//Füllen des Datasets
da.Fill(ds, "erfassung");
//Datenbindung an das Control
txtKunde.DataContext = ds;

Soweit klappt das auch ganz gut, in ds.tables["erfassung"].rows[0]["kunde"] steht im
Direktfenster auch ein entsprechender Wert der ersten Zeile. ;-)

Nun gilt es natürlich die Daten in dem Control "txtKunde" anzuzeigen.

Code:
Code:
<Window x:Class="Erfassung_Historie.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="421" Width="705" xmlns:my="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration">
    <Grid>
            <TextBox Height="23" Name="txtKunde" Width="120" Text="{Binding Path=Tables[erfassung].rows[0][kunde]}" TextChanged="txtKunde_TextChanged" />
            <Label Height="28" Name="lblKunde" Width="120">Kunde</Label>
    </Grid>
</Window>

Ich versuche mit {Bindung Path=Tables[erfassung].rows[0][kunde]} den Wert der Textbox zuzuweisen, allerdings passiert garnichts - auch kein Fehler :(

Im Internet habe ich ehrlich gesagt nichts brauchbares gefunden und ich suche schon Tage, vielleicht habt ihr auch ein paar Links/Lektüren die ihr mir empfehlen könnt?

Ihr könnt mir bestimmt bei dem Problem helfen :)
Danke euch schon im voraus

lG ShinmA
 
Hallo,

Beispiele zur Datenbindung findest du hier:
http://dotnet-gui.com/files/

Fehler im Databinding lösen keinen tatsächlichen Fehler aus, sind also sehr schwer zu erkennen.

Grundsätzlich machst du es so, dass du dein DataSet als DataContext bei einem Element setzt. In der ItemsSource setzt du ein Binding auf die gewünschte Tabelle und bei den einzelnen Feldern ein Binding auf die einzelnen Felder. Damit kannst du das recht gut abbilden.
 
Hey,

danke :)
Das war genau der Anstoss den ich benötigt habe. Jetzt funktioniert alles :]

lG ShinmA
 

Neue Beiträge

Zurück