yannovitch78
Messages postés15Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention27 octobre 2005
-
2 avril 2005 à 13:13
titeoe
Messages postés433Date d'inscriptionsamedi 26 avril 2003StatutMembreDernière intervention 4 décembre 2009
-
12 avril 2005 à 18:00
bonjour à tous,
je viens vers vous car j'ai un petit problème au sujet d'un datagrid dynamique. Je vous explique:
je charge un dataset à partir d'une base de données ( juqu'ici, no pb), et à partir de ce dataset, je charge un datagrid dynamiquement ( donc, pas de possibilité de mettre du code pour le datagrid dans la partie .aspx). Je construis tout d'abord une ButtonColumn "editer" et une ButtonColumn "supprimer" auxquelles j'associe l'évènement ItemCommand (toujours pas de pb). Par contre, là où ça se gâte, c'est que je veux aussi charger des ButtonColumn pour les données de mon dataset, pour que, si l'on clique sur une des données, un évènement se produise (en général, chargement d'un nouveau dataset). Je construis ces ButtonColumns et avec la propriété DataTextField de celles-ci, j'y accroche mon dataset. J'obtiens donc bien un datagrid avec des liens partout, mais l'ItemCommand ne s'enclenche pas sur les ButtonColumns relatives au dataset (ni même le SortCommand que j'ai placé pour trier en cliquant sur le titre des colonnes). Pourquoi? Suis-je obligé de passer par des TemplateColumn? Voila, j'attends votre aide avec une impatience non dissimulée, et n'hésitez pas à me contacter si le code détaillé ou d'autres indications. Merci d'avance à tous.
yannovitch78
Messages postés15Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention27 octobre 2005 12 avril 2005 à 10:06
Je suis effectivement passé par les template columns, et ce pour toutes mes colonnes. Pour ne pas faire comme tout ces gens qu'on aide, qui finissent par trouver une bonne solution et qui la garde pour eux , voici un exemple pour la colonne "edit":
public
class ButtonEditCTemplate : ITemplate
{
public
void InstantiateIn(Control container)
{
LinkButton lkb =
new LinkButton();
lkb.Text = "Editer";
lkb.CommandName = "Edit";
lkb.ForeColor=System.Drawing.Color.Gray;
container.Controls.Add(lkb);
}
}
Ensuite, lorsque cela est utilse, je construit dynamiquement la colonne de la façon suivante:
ButtonEditCTemplate mycol =
new ButtonEditCTemplate();