Click here to Skip to main content
11,806,350 members (66,160 online)
Rate this: bad
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)

  Print Answers RSS
0 Richard Deeming 205
1 Sergey Alexandrovich Kryukov 170
2 ppolymorphe 145
3 OriginalGriff 135
4 Abhinav S 120
0 OriginalGriff 3,330
1 Maciej Los 1,990
2 KrunalRohit 1,907
3 CPallini 1,905
4 Richard MacCutchan 1,227

Advertise | Privacy | Mobile
Web03 | 2.8.151002.1 | Last Updated 4 Jun 2013
Copyright © CodeProject, 1999-2015
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