Yep vous tous,
Un ami m'a parlé du problème suivant :
Un DataGrid est placé dans un TabControl. A chaque fois que l'on sélectionne un enregistrement du DataGrid, l'événement de sélection est remonté dans celui du TabControl (changement d'onglet).
Si on a le malheur de charger le DataGrid dans ce dernier événement, alors le DataGrid se charge en boucle et il devient impossible de sélectionner un enregistrement...
Quelqu'un as t'il une explication ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 TabControl MonTabControl = new TabControl(); DataGrid MonDataGrid = new DataGrid(); System.Data.DataTable MaTable; protected void DataGridSelectionExample() { // Changement d'onglet dans le TabControl. MonTabControl.SelectionChanged += (te, ts) => { // Appelé à chaque fois que l'on sélectionne un enregistrement dans MonDataGrid. // Du coup, impossible rendre visible l'enregistrement sélectionné dans la grille. ChargerMonDataGrid(); }; // Changement de sélection d'enregistrement dans le DataGrid. MonDataGrid.SelectionChanged += (de, ds) => { // Cet événement remonte vers le SelectionChanged du TabControl. }; } protected void ChargerMonDataGrid() { MaTable = new System.Data.DataTable(); // ... MonDataGrid.ItemsSource = MaTable.Rows; }
Partager