×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Filling combobox with dataTable

Filling combobox with dataTable

Filling combobox with dataTable

(OP)
Hello,

I am not able to fill up a combobox in a datagrid with data from a dataTable. What am I doing wrong?

XAML:

<DataGrid x:Name="dgContactgegevens" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Grid.RowSpan="2" Margin="10,10,10,10" RowBackground="LightYellow" AlternatingRowBackground="LightBlue" ItemsSource="{Binding dtContactgegevens}" AutoGenerateColumns="False" IsReadOnly="True" SelectionMode="Single">
<DataGrid.Columns>
<DataGridTextColumn Header="ContactgegevenID"
Binding="{Binding ContactgegevenID}">
</DataGridTextColumn>
<DataGridTextColumn Header="Contact"
Binding="{Binding ContactgegevenContact}">
</DataGridTextColumn>
<DataGridTemplateColumn Header="Contactsoort">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding dtContactsoorten}"
DisplayMemberPath="Contactsoortnaam"
SelectedValuePath="ContactsoortID"
SelectedValue="{Binding Contactgegevencontactsoort, Mode=TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Contactlijn"
Binding="{Binding ContactgegevenContactlijn}">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Code behind:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
MaakTabellen();
VulTabellen();
ToonGegevens();
}

private void MaakTabellen()
{
dtContacten = new DataTable("Contacten");
dtContactsoorten = new DataTable("Contactsoorten");
dtContactgegevens = new DataTable("Contactgegevens");

dsContacten.Tables.Add(dtContacten);
dsContacten.Tables.Add(dtContactsoorten);
dsContacten.Tables.Add(dtContactgegevens);

DataColumn ContactID = new DataColumn("ContactID");
ContactID.AllowDBNull = false;
ContactID.AutoIncrement = true;
ContactID.AutoIncrementSeed = 1;
ContactID.AutoIncrementStep = 1;
ContactID.DataType = typeof(int);
ContactID.Unique = true;

dtContacten.Columns.Add(ContactID);
dtContacten.PrimaryKey = new DataColumn[] { dtContacten.Columns["ContactID"] };

DataColumn Naam = new DataColumn("Naam");
Naam.DataType = typeof(string);

dtContacten.Columns.Add(Naam);

DataColumn ContactsoortID = new DataColumn("ContactsoortID");
ContactsoortID.AllowDBNull = false;
ContactsoortID.AutoIncrement = true;
ContactsoortID.AutoIncrementSeed = 1;
ContactsoortID.AutoIncrementStep = 1;
ContactsoortID.DataType = typeof(int);
ContactsoortID.Unique = true;

dtContactsoorten.Columns.Add(ContactsoortID);
dtContactsoorten.PrimaryKey = new DataColumn[] { dtContactsoorten.Columns["ContactsoortID"] };

DataColumn ContactsoortNaam = new DataColumn("ContactsoortNaam");
ContactsoortNaam.DataType = typeof(string);
dtContactsoorten.Columns.Add(ContactsoortNaam);

DataColumn ContactgegevenID = new DataColumn("ContactgegevenID");
ContactgegevenID.AllowDBNull = false;
ContactgegevenID.AutoIncrement = true;
ContactgegevenID.AutoIncrementSeed = 1;
ContactgegevenID.AutoIncrementStep = 1;
ContactgegevenID.DataType = typeof(int);
ContactgegevenID.Unique = true;

dtContactgegevens.Columns.Add(ContactgegevenID);
dtContactgegevens.PrimaryKey = new DataColumn[] { dtContactgegevens.Columns["ContactgegevenID"] };

DataColumn ContactgegevensContact = new DataColumn("ContactgegevenContact");
ContactgegevensContact.DataType = typeof(int);
dtContactgegevens.Columns.Add(ContactgegevensContact);

DataColumn ContactgegevensContactsoort = new DataColumn("ContactgegevenContactsoort");
ContactgegevensContactsoort.DataType = typeof(int);
dtContactgegevens.Columns.Add(ContactgegevensContactsoort);

DataColumn ContactgegevensContactlijn = new DataColumn("ContactgegevenContactlijn");
ContactgegevensContactlijn.DataType = typeof(string);
dtContactgegevens.Columns.Add(ContactgegevensContactlijn);
}

private void VulTabellen()
{
ToevoegenDataContact("Vanderbeke", "Michel", "Carmersstraat", "103", "8000", "Brugge", "Belgiƫ", "1950/11/28");

ToevoegenDataContactgegeven(1, 1, "050334089");
ToevoegenDataContactgegeven(1, 2, "0476395012");
ToevoegenDataContactgegeven(1, 3, "michel.vanderbeke@outlook.com");
ToevoegenDataContactgegeven(1, 4, "www.michelvanderbeke.com");

ToevoegenDataContactsoort("Vaste telefoon");
ToevoegenDataContactsoort("Mobiele telefoon");
ToevoegenDataContactsoort("E-mail adres");
ToevoegenDataContactsoort("Website");

dsContacten.Relations.Add(dsContacten.Tables["Contactsoorten"].Columns["ContactsoortID"], dsContacten.Tables["Contactgegevens"].Columns["ContactgegevenContactsoort"]);

DataColumn dataColumnParent = dsContacten.Tables["Contacten"].Columns["ContactID"];
DataColumn dataColumnChild = dsContacten.Tables["Contactgegevens"].Columns["ContactgegevenContact"];

DataRelation datarelatieContacten = new DataRelation("relatieContacten_Contactgegevens", dataColumnParent, dataColumnChild);
dsContacten.Relations.Add(datarelatieContacten);
}

private void ToevoegenDataContact(string naam, string voornaam, string straat, string huisnummer, string postcode, string plaats, string land, string geboortedatum)
{

DataRow nieuwContact = dsContacten.Tables["Contacten"].NewRow();

nieuwContact["Naam"] = naam;

dtContacten.Rows.Add(nieuwContact);
}

private void ToevoegenDataContactsoort(string contactsoortNaam)
{
DataRow nieuweContactsoortNaam = dsContacten.Tables["Contactsoorten"].NewRow();

nieuweContactsoortNaam["ContactsoortNaam"] = contactsoortNaam;

dtContactsoorten.Rows.Add(nieuweContactsoortNaam);
}

private void ToevoegenDataContactgegeven(int contact, int contactsoort, string contactlijn)
{

DataRow nieuwContactgegeven = dsContacten.Tables["Contactgegevens"].NewRow();

nieuwContactgegeven["ContactgegevenContact"] = contact;
nieuwContactgegeven["ContactgegevenContactsoort"] = contactsoort;
nieuwContactgegeven["ContactgegevenContactlijn"] = contactlijn;

dtContactgegevens.Rows.Add(nieuwContactgegeven);
}

private void ToonGegevens()
{
dgContactgegevens.ItemsSource = dtContactgegevens.DefaultView;
}
}

Can someone help Me?

Thank you

Michel

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close