Bonjour,

J'ai un GridView qui et mapper sur un ObjectDataSource, lui même mapper sur une classe à moi 'MonObjetAdapter' qui renvoie une liste de type 'MonObjet'.

Le GridView est bien peuplé avec mes données.

Dans mon formulaire j'ai un bouton me permettant de supprimer toutes les lignes cochées d'un seul coup.

Pour ce faire, j'ai besoin de parcourir la grille et de recupérer les valeurs permettant d'identifier un enregistrement.

Mais je n'arrive pas à récupérer la valeur du champs d'un enregistrement (je précise que la colonne est masquée) ?

Un extrait de code pour être plus clair
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
29
30
31
32
33
/// <summary>
/// Suppression des éléments
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lkbnSupprimer_Click(object sender, EventArgs e)
{
     // Recupère les lignes cochées
     List<GridViewRow> rowSuppr = Utilitaire.GridViewHelper.GetCheckedRows(this.GridView1, (int)ColonnesEnum.Supprimer);
 
     // Si il n'y a rien à supprimer
     if (rowSuppr == null || rowSuppr.Count <= 0)
          return;
 
     // Récupère les informations utile pour la suppression
     // ID = couple de valeur (ID Principal + ID Secondaire)
     List<KeyValuePair<int, int>> aSupprimer = new List<KeyValuePair<int, int>>();
     foreach (GridViewRow grv in rowSuppr)
     {
         // ??? La propriété .Text ne contient pas ma donnée
         int idPrincipal = grv.Cells[(int)colonnesEnum.IDPrincipal].Text;
 
         // ??? La propriété .Text ne contient pas ma donnée
         int idSecondaire = grv.Cells[(int)colonnesEnum.IDSecondaire].Text;
 
         KeyValuePair<int,int> element = new KeyValuePair<int,int>(idPrincipal,idSecondaire);
              aSupprimer.Add(element);
     }
 
     // Appel du service
     Exception exception = null;
     Services.Supprimer(aSupprimer, exception);
}