Laden...

Combobox an DataSet binden

Erstellt von Akhanto vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.388 Views
A
Akhanto Themenstarter:in
28 Beiträge seit 2012
vor 11 Jahren
Combobox an DataSet binden

Hallo zusammen,
ich versuche momentan verzweifelt mich in WPF und die Datenbindung einzuarbeiten.
Ziel ist es eine Combobox an den Inhalt eines DataSets zu binden. Obwohl ich keine Fehlermeldung bekomme, wird die Box leider nicht gefüllt.

Als Orientierung habe ich mich an diese Anleitung gehalten: Hier

Die Methode für das DataSet sieht so aus:

        public static DataSet DataSetFüllenDokTypMDB()
        {
            OleDbConnection con = new OleDbConnection(
                @"Provider=Microsoft.Jet.OLEDB.4.0;
     Data Source=C:\Users\Tim\Desktop\DokumenteTab.mdb");
            string cmd = "SELECT tblBuchDokumenttyp.lngBuchDokumenttypPK, tblBuchDokumenttyp.strDtName AS Dt, tblBuchDokumenttyp.strDtKürzel, tblBuchDokumenttyp.strDtQMTyp, [strDtQMTyp] & \" - \" & [strDtName] AS Dt2 FROM tblBuchDokumenttyp ORDER BY [strDtQMTyp]";
            OleDbCommand comm = new OleDbCommand(cmd, con);

            OleDbDataAdapter adapter = new OleDbDataAdapter(comm);

            DataSet ds = new DataSet();
            adapter.Fill(ds);
            return ds;
        }

Der Code der Box:

<ComboBox DataContext="{StaticResource TypProvider}" ItemsSource="{Binding tblBuchDokumenttyp}" Grid.Column="1" Height="23" HorizontalAlignment="Left" Name="comboBox1" VerticalAlignment="Top" Width="120"/>

Kann mir jemand einen Tip geben, das besser zu machen?

vielen Dank
Akhanto

6.862 Beiträge seit 2003
vor 11 Jahren

Hallo,

was ist denn deine TypProvider Resource? Das müsste ja direkt das DataSet sein oder?

Baka wa shinanakya naoranai.

Mein XING Profil.

A
Akhanto Themenstarter:in
28 Beiträge seit 2012
vor 11 Jahren

Ich wusste doch ich hab was vergessen..

    <Window.Resources>
        <ObjectDataProvider
        x:Key="TypProvider"
        MethodName="DataSetFüllenDokTypMDB"
        ObjectType="{x:Type local:DataSets}"/>
    </Window.Resources>

Das Problem mit der fehlenden Anzeige hat sich gelöst.. ich habe mich an das gehalten und jetzt gehts.

Wenn mir jetzt noch jemand verrät wie ich auf auf eine andere Spalte des markierten Werts zugreifen kann, bin ich komplett glücklich!

In der Tabelle sind nämlich einmal eine ID (Primary Key) und dann unter anderen eben noch der echte Name. Angezeigt wird natürlich der Name, ich brauche jedoch zur weiteren Verarbeitung die ID. Mit SelectedValue bekomme ich ja nur den Namen, was benutze ich stattdessen?

Die Frage habe ich in diesem Beitrag bereits gestellt, da sich der aber eigentlich auch was anderes bezieht, habe ich das hier nochmal gestellt.

//Edit: Problem gelöst.. Man muss einfach den DisplayMemberPath anpassen!

vielen Dank
Akhanto