Bonjour,

J'ai crée une GridView comprenant 3 colonnes :

- 2 CommandField = 2 boutons image
- 1 BoundField (Clé)

La finalité est d'arriver à rediriger vers :

- Page1 lorsque j'appuie sur le 1er CommandField
- Page2 lorsque j'appuie sur le 2eme CommandField

NB : les liens Page1 & Page2 contiennent la valeur de la Clé (BoundField) suivant l'index de l'enregistrement selectionné (GridView.SelectedValue).

Voici le code executé à l'initialisation du GridView :

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
34
35
36
 
// Initialisation GridView Suivi
protected void GridView_Suivi_Init(object sender, EventArgs e)
{
 
        GridView gv = (GridView)sender;
 
        gv.Columns.Clear();
 
        cfTable = new CommandField();
        cfTable.ButtonType = ButtonType.Image;
        cfTable.ShowSelectButton = true;
        cfTable.SelectText = "editer";
        cfTable.SelectImageUrl = "~/images/select.gif";
        gv.Columns.Add(cfTable);
        cfTable = null;
 
        cfTable = new CommandField();
        cfTable.ButtonType = ButtonType.Image;
        cfTable.ShowSelectButton = true;
        cfTable.SelectText = "utilisateurs associés";
        cfTable.SelectImageUrl = "~/images/icon_user.gif";
        cfTable.HeaderStyle.Width = 20;
        gv.Columns.Add(cfTable);
        cfTable = null;
 
        bfTable = new BoundField();
        bfTable.DataField = "CodeApplication";
        bfTable.HeaderText = "Application";
        bfTable.SortExpression = "CODE_APPLICATION";
        bfTable.ReadOnly = true;
        bfTable.ItemStyle.Width = 205;
        gv.Columns.Add(bfTable);
        bfTable = null;
 
}
Lorsque j'intercepte le clic sur un des boutons (CommandField) du GridView, j'arrive à récupérer la valeur de la clé GridView.SelectedValue mais je n'arrive pas à determiner sur quel boton a eu lieu le clic.

Voici le code permettant d'intercepter le clic sur 2 evennements du GridView :

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
 
protected void GridView_Suivi_RowCommand(object sender, GridViewCommandEventArgs e)
    {
 
        GridView gvtest1 = (GridView)sender;
 
        // Comment savoir quel bouton a reçu le clic
        // Si 1er CommandField -> Redirection Page1
 
    }
 
    protected void GridView_Suivi_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridView gvtest2 = (GridView)sender;
 
       // Comment savoir quel bouton a reçu le clic
       // Si 2eme CommandField -> Redirection Page2
    }
Carlos