Salut !

J'ai un petit souci avec un ImageButton dans un GridView.

D'abord le code et après les explications :

Page .aspx :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
<asp:TemplateField HeaderText="Archive">
                <ItemStyle HorizontalAlign="Center" VerticalAlign="Bottom" Width="30px"/>
                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                <ItemTemplate>
                    <asp:ImageButton ID="btnArchive1" runat="server"
                         OnClientClick="return confirm('Êtes-vous sûr de vouloir archiver ce compte ?');" 
                         CommandName="Archive"
                         CausesValidation="false"
                         CommandArgument="<%# Container.DataItemIndex %>" />
                </ItemTemplate>            
            </asp:TemplateField>
Code Behind :
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
// Image archive
            for (int i = 0; i < gvComptes.Rows.Count; i++)
            {
                // Récupération des infos sur le compte correspondant à la ligne dans le gridview
                Compte compteSelect = compteProcess.GetCompte(Convert.ToInt32(gvComptes.DataKeys[i].Value.ToString()));

                
                if (compteSelect.Archive == 0)
                {
                    // Compte non archivé
                    ((ImageButton)pagerRow.FindControl("btnArchive1")).ImageUrl = "../Images/no-archive.png";
                }
                else
                {
                    // Compte archivé
                    ((ImageButton)pagerRow.FindControl("btnArchive1")).ImageUrl = "../Images/archive.png";
                }
            }
Ce que je cherche à faire ici c'est, pour chaque ligne du gridview, si la valeur de compteSelect est égale à 0 j'affiche une image sinon j'affiche une autre image.

Dans le code behind (au niveau des lignes en gras), j'ai une NullReferenceException et je ne vois pas comment résoudre ce problème (si toutefois c'est possible).

Merci pour vos réponses !!!

Alex