ComboBox dans un DataGridView

Résolu
pkmnlio Messages postés 28 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 30 décembre 2007 - 12 déc. 2007 à 13:42
rgso Messages postés 9 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 30 juin 2011 - 30 juin 2011 à 15:52
Bonjour,

J'utilise une procedure stockee pour remplir mon datagridview.
Je le rempli donc directement par le code avec la propriete datasource, et en definnisanat chaque colonne.
J'aimerai que l'une de ces colonnes soit un ComboBox, pour me permettre de modifier la valeur d'un champ d'une de mes tables par le value du combobox.
Comment puis-je faire pour creer par le code pour que les cellule d'une collone soient des combobox ?
Pour les remplir avec un value et un texte je devrais pouvoir y arriver mais si vous pouvez me le dire sa m'aiderai un peu.

Merci d'avance
Lionel

3 réponses

pkmnlio Messages postés 28 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 30 décembre 2007
12 déc. 2007 à 15:01
Merci pour ta reponse mais je travaille en winforms, bien que je vais devoir sans doute utiliser ceci dans ma prochaine appli ASP.

Sinon, j'ai finalement trouver comment creer mon combobox et j'ai pus y inserer les valeurs voulues.

DataGridViewComboBoxColumn comboxColonne = new DataGridViewComboBoxColumn();
            dataGridViewClient.Columns.Add(comboxColonne);
           
                comboxColonne.DataSource = new G_Clients(connexionSQLServer).Lire("nid");
                comboxColonne.DisplayMember = "sVillecplt";
                comboxColonne.ValueMember = "nidLocalite";
                comboxColonne.HeaderText = "Localite";
                comboxColonne.DisplayIndex = 8;

Il me reste malgré tout un probleme, le DisplayIndex ne fonctionne pas pour cette element. (pas tres grave je m'arengerai autrement).

Le principal est que je voudrais que le champ selectionne au chargement une valeur definie qui serait ici le "nidLocalite" correspondant a l'enregistrement.
Comment puis-je faire cela ?
Le champ ne reconais pas le SelectedIndex
3
gilletcsteph Messages postés 39 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 mai 2008
12 déc. 2007 à 14:53
Salut,


Pour qu'une colonne contienne une liste, il faut que ta colonne soit un Template et non pas un Champ directement relié au données.
Après, tu peut modifier le contenu du template avec "modifier les Templates" dans le designer, ou dans la page aspx :

<asp:TemplateField>








<
ItemTemplate
>






<
asp
:
DropDownList
ID
="maliste"



runat
="server">
</
aspDropDownList
>






</
ItemTemplate
>






</
asp
:
TemplateField
>



Pour remplir ta liste, utilise la méthode onRowDataBound (lorsqu'une ligne est relié au donnée) ou onDataBound (lorsque ton contrôle est lié au données) selon ton besoin.

Steph
0
rgso Messages postés 9 Date d'inscription mardi 16 novembre 2010 Statut Membre Dernière intervention 30 juin 2011
30 juin 2011 à 15:52
salu, pouvez vous me dire comment puis je faire cela en vb? j'ai une datagridview où j'ai mis un combobox que je veux remplir à partir une requete sql, mais j'arrive pas à le faire sur vb, je suis perdue dans le code :(
0
Rejoignez-nous