OVH Cloud OVH Cloud

DataGridEx

1 réponse
Avatar
Franck Diastein
Bonjour,

Je voudrais 'automatiser' certaines tâches que je fais trop souvent à la
main avec les DataGrid... Par exemple, pour surligner une ligne lors du
passage de la souris j'utilise:

// Surligne
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem) {

string strTempColor = (e.Item.ItemType == ListItemType.Item) ?
ColorTranslator.ToHtml(dgAmoi.ItemStyle.BackColor) :
ColorTranslator.ToHtml(dgAmoi.AlternatingItemStyle.BackColor) ;
e.Item.Attributes.Add("onmouseover",
"this.style.backgroundColor='powderblue'; this.style.cursor='hand';");
e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor='" +
strTempColor + "';");

}

Et j'aimerais être capable de faire simplement qq chose du style:
dgAmoi.Surligner = true;

Ou pour changer la StatusBar, faire dans ItemDataBound qq chose du style:

e.Attributes.ChangerStatus = MesDonneeDeLaBD.ToString(); au lieu d'avoir
à gérer tout le temps le onmouseover et onmouseout

J'imagine que je dois créer une classe qui hérite le DataGrid en la
déclarant comme ceci:

public class DataGridEx : System.Web.UI.WebControls.DataGrid

Mais je ne vois pas comment 'lier' les évènements de mon DataGrid dans
mas page aspx avec la ma classe...

Merci

1 réponse

Avatar
Zazar
Bonsoir,

Je voudrais 'automatiser' certaines tâches que je fais trop souvent à
la main avec les DataGrid...



<snip exemple>

J'imagine que je dois créer une classe qui hérite le DataGrid en la
déclarant comme ceci:

public class DataGridEx : System.Web.UI.WebControls.DataGrid

Mais je ne vois pas comment 'lier' les évènements de mon DataGrid dans
mas page aspx avec la ma classe...



Si j'ai bien compris, votre problème, c'est comment abonner une méthode de
votre classe à l'événement ItemDataBound. Si c'est ça, il vous suffit de
substituer la méthode OnInit de la classe DataGrid et d'ajouter le code
this.ItemDataBound += ... .

--
Zazar