ok donc en C#
.NET 4.5
et en utilisant un DataGrid
événement RowEditEnding obtenir des valeurs nulles
J'ai mon DataGrid lié à un ADO.Net DataEntity
. Maintenant, si je mets en surbrillance une ligne existante dans le Datagrid et appuie sur un bouton que j'ai l'exécution du code suivant: IList rows = DataGrid.SelectedItems;
je peux parcourir le code et voir le IList rempli avec les bonnes valeurs.
mon DataGrid est lié dans le XAML comme ItemsSource="{Binding}"
et chaque colonne de la grille de données est liée à une colonne dans l'entité comme tel: Binding="{Binding Path=InventoryName, Mode=TwoWay}"
et dans le code derrière je mets à l'aide d'une requête LINQ à l'entité cadre comme celui-ci:
var fillList = (from g in MyDataEntities.Table1
where g.OnLIst == true
orderby g.InventoryName
select g);
DataGrid.ItemsSource = fillList.ToList();
ce que je dois faire est double: l'événement RowEditEnding remplir IList avec les Vales de la ligne. Une fois qu'il est peuplé, j'ai besoin d'accéder aux entrées individuelles dans le IList. En testant et en faisant défiler le code, je pense que mon problème est que lorsque j'entre une ligne vide, il n'a pas mis à jour l'entité lorsque l'événement RowEditEnding a été déclenché. Je pense que cela parce que quand je passe en revue le code et développez le IList toutes les valeurs dans lui sont nulles. Dois-je faire quelque chose pour mettre à jour l'entité avant de remplir le IList?
Une fois rempli, comment puis-je accéder aux valeurs individuelles? lorsque j'essaie de remplir une variable en utilisant une instruction foreach, tout ce qu'il affiche la valeur comme: Namespace.TableName