Click here to Skip to main content
12,402,202 members (70,587 online)
Rate this:
Please Sign up or sign in to vote.
See more: WPF DataGrid Binding

i am using a datagrid to edit an observablecollection of persons. Therefore i also have a dictionary of persons (same type). So when i write the lastname in a cell i want that after
edit ends (on enter) the software searches in the dictionary for an existing entry and replaces the Person in my collection. Therefore i hang into the celleditending Event and execute following code:

private void dgPersons_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
  if (e.Column.DisplayIndex == 1) //Name Column
    string Name = ((TextBox)e.EditingElement).Text.ToLower();
    var dict = App.Dict.Where(p=> p.Name.ToLower() == name.ToLower()).ToList();
    if (dict.Count > 0)
      dgPersons.SelectedItem = dict[0];
      MessageBox.Show("Cannot find Event: " + name, "Not Found");
      e.Cancel = true;
      ((TextBox)e.EditingElement).Text = "";

If i do it like that nothing happens, if i add the Person to my observablelist the Person appears in the datagrid but also the entered before.
Can anyone help me out with this Problem?

Kind Regards
Posted 4-Jun-13 10:22am

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Advertise | Privacy | Mobile
Web02 | 2.8.160721.1 | Last Updated 4 Jun 2013
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100