Bonjour je me permet de re-up le post car j'ai le même problème... à peu de chose près que c'est en silverlight.
Je m'explique: j'ai un datagrid vide qui se remplit dynamiquement en fonction de données que je récupère d'une BDD.
En face de chaque informations, il y a un bouton qui doit ouvrir un rapport différent selon le bouton cliqué.
Mon problème : ajouter un bouton à mon datagrid. J'ai tenté le hyperlinkButton en redéfinissant la fonction click dynamiquement... le bouton seul sur un panel fonctionne correctement mais une fois dans le datagrid n'est plus clicable... et sous expression blend pas de buttonColumn disponible....
Je suppose que c est un truc tout balot en rapport avec le datagrid mais... pareil lorsque je tente de rajouter un control d'un autre type, je n'ai qu'un affichage du type du control et non pas le control.
public class HeadLine2
{
public string Référence { get; set; }
public string Plot { get; set; }
public string Utilisateur { get; set; }
public MonHyperlinkButton CR{get; set;}
public MonHyperlinkButton QCM { get; set; }
}
public void RemplirDataGrid(string mois, string annee)
{
List<HeadLine2> maListData = new List<HeadLine2>();
maListData.Add(new HeadLine2()
{
Référence = "1030",
Plot = "ECS",
Utilisateur = "Rodrigues",
CR = new MonHyperlinkButton("cr","D:\\Réservation fictive.doc") ,
QCM = new MonHyperlinkButton("QCM", "D:\\Réservation fictive.doc"),
});
monDataGrid.ItemsSource = maListData;
}
description du bouton hyperlink:
private WebServiceUserSoap monWebService;
private GestionnaireLab modele;
public MonHyperlinkButton(string name, string lien)
{
// Required to initialize variables
InitializeComponent();
this.monHPButton.Content = name;
modele = GestionnaireLab.getInstance();
//monWebService = new WebServiceUserSoapClient();
}
private void monHPButton_Click(object sender, RoutedEventArgs e)
{
//IAsyncResult iar = monWebService.BeginlinkButtonClick( new AsyncCallback(linkButton),monWebService);
modele.getFrame().tab_QCMCR.Content = new CR_Validation();
modele.getFrame().tab_QCMCR.Header = "CR";
modele.getFrame().tab_QCMCR.Visibility = Visibility.Visible;
}
private void linkButton(IAsyncResult iar)
{
monWebService.EndlinkButtonClick(iar);
}
je suis sous VS 2008, silverlight 2.0, si quelqu'un a une solution ou des suggestions... MERCI!!