Bonjour,
Je souhaites changer le style d'un bouton dynamiquement lors de l'évènement
DataRowBound.
Mais rien à faire impossible de changer le style.
Voici mon code
page.aspx
page.aspx.cs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <asp:ButtonField ButtonType="Button" HeaderText="Edit" > <ControlStyle CssClass="gvListImportEditBtnDisable" /> <HeaderStyle Width="45px" /> <ItemStyle HorizontalAlign="Center" /> </asp:ButtonField>
styles.css
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 protected void SetBtnState(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { IImportBCI importBCI = (IImportBCI )e.Row.DataItem; if (importBCI.DateTraitement != DateTime.MinValue) { Button btn; btn = (Button)(e.Row.Cells[5].Controls[0]); btn.Enable= false; btn.CssClass = "gvListImportEditBtnDisable"; } else { Button btn; btn = (Button)(e.Row.Cells[5].Controls[0]); btn.Enable = true; btn.CssClass = "gvListImportEditBtnEnable"; } } }
Les styles fonctionnent si je fais l'affectation directement dans la pages.aspx mais l'affectation par programmation ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 .gvListImportEditBtnEnable { background: url('../images/edit_btn.png') no-repeat scroll top right; width: 20px; height:20px; } .gvListImportEditBtnDisable { visibility:hidden; }
Le changement de style est simplement ignoré.
La procédure est appeler correctement: le Enable sur le bouton fonctionne.
Un coup de main serait le bienvenu
Merci d'avance
Partager