Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: WPF DataGrid Binding
Hi,
 
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];
    else
    {
      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
Manu
Posted 4-Jun-13 11:22am

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

  Print Answers RSS
0 OriginalGriff 400
1 Jochen Arndt 190
2 Richard MacCutchan 135
3 DamithSL 95
4 Garth J Lancaster 90
0 OriginalGriff 6,045
1 DamithSL 4,601
2 Maciej Los 4,032
3 Kornfeld Eliyahu Peter 3,480
4 Sergey Alexandrovich Kryukov 3,220


Advertise | Privacy | Mobile
Web02 | 2.8.141220.1 | Last Updated 4 Jun 2013
Copyright © CodeProject, 1999-2014
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