Intégrer un combobox dans une cellule d'un datagrid
Kornebrume
Messages postés35Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention10 avril 2008
-
9 avril 2008 à 15:13
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 2012
-
10 avril 2008 à 02:31
Bonjour à tous,
J'ai déjà une application en place et je souhaite l'agrémenter de petites fonctionnalités sympathiques. L'une d'entre elle est de rajouter (uniquement dans certains cas bien précis (uniquement certaines colonnes dans certaines lignes)) un combobox dans un datagrid.
J'ai fait une recherche sur le net mais aucune n'a porté ses fruits, je suis toujours incapale d'intégrer un combobox dans un datagrid.
Si quelqu'un connait une astuce ou a déjà réalisé ce genre d'application, merci à lui de se manifester pour m'expliquer en détail la marche à suivre.
aiglon2006
Messages postés5Date d'inscriptiondimanche 8 octobre 2006StatutMembreDernière intervention 9 avril 2008 9 avril 2008 à 15:19
Une solution stupid:
tu va avoir un combox sur le form
lorsque lutlisateur appuie sur un celule tu perend le X.Y du cureseur et le donne au combo pr le deplacer et aussi la largeur de la cellule pr la donner au combo
et apres tu fais une mise a jour du grid
il est fastudieux,il vaut mieux d ajouter des composant tel que ceux d infragistics
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 10 avril 2008 à 02:31
Bonsoir,
Même principe que celui proposé par aiglon,
sauf que moi j' exploite la propriété Button des colonnes.
Onglet Disposition, tu sélectionne Column et tu coches Button.
Tu peux choisir la ou les colonnes ou tu veux avoir la ou les listes de choix.
Tu mets donc ton ou tes combos (Style DropDownList) sur ton formulaire mais IMPORTANT ,en dernier plan (sous le grid).
Dans l' evenement Button Click, tu testes sur l' index de la colonne.
Si c' est la bonne, tu fais :
ComboAssocie.SetFocus
SendKeys "{f4}"
Ce SendKeys a pour effet de faire apparaitre la liste du combo sur le Grid.Il faudra par ailleur le positionner parrapport sous la case désignée.Avec RowTop,RowHeight et LeftCol ça sera pas difficile.
Et dans Sub ComboAssocie_Click()
DataGrid.Text=ComboAssocié.Text
Je ne sais pas si SetFocus et SendKeys sont accèptables en .Net.
En vb6 ça marche .