Je voudrais obtenir toutes les lignes afin de vérifier certaines lignes qui sont identiques dans la base de données, j'ai essayé plusieurs solutions sur StackOverflow mais aucune d'entre elles n'a fonctionné pour moi :
- Get row in datagrid
-
for (int i = 0; i < dataGrid.Items.Count; i++) { DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator .ContainerFromIndex(i); }
Ce code renvoie une exception value cannot be null
.
J'ai également essayé cette ligne de code et j'ai reçu la même exception (l'objet currentitem était nul).
var currentItem = myDataGrid.SelectedItem as MyObject;
Code complet :
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
grid.ItemsSource = null;
grid.ItemsSource = work;
grid.Items.Refresh();
for (int i = 0; i < grid.Items.Count; i++) // Mon nombre d'éléments dans la grille est de 7
{
DataGridRow row = (DataGridRow)grid.ItemContainerGenerator.ContainerFromIndex(i); // cette valeur était null
var currentItem = grid.SelectedItem as object; // cette valeur était null
}
}