Intégrer un combobox dans une cellule d'un datagrid

Kornebrume Messages postés 35 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 10 avril 2008 - 9 avril 2008 à 15:13
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Derniè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.

Merci à vous pour vos réponses. Cordialement.

2 réponses

aiglon2006 Messages postés 5 Date d'inscription dimanche 8 octobre 2006 Statut Membre Derniè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
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 5
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 .




 







<hr />

... Y'en a même qui disent qu'ils l'ont vu voler.




/PRE>
0