DataGridViewComboBoxColumn différents !

Résolu
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 - 15 janv. 2013 à 14:19
 NesrineBenSAlah - 29 mars 2013 à 20:39
Bonjour à toutes et tous,

J'ai un DataGridView, j'ai défini une colonne de type 'DataGridViewComboBoxColumn' et j'ai ajouté 2 lignes.

Je souhaites pouvoir avoir des choix différents selon la ligne où je me trouve !

exemple :
Sur la ligne n°1 avoir les choix 1 - 2 - 3
Sur la ligne n°2 avoir les choix 4 - 5 - 6

Est-ce que cela est possible ?

Actuellement, voici le code que j'utilise :

    DataGridView1.Rows.Clear()
    DataGridView1.Rows.Add("Ligne 1", "")
    DataGridView1.Rows.Add("Ligne 2", "")

    DataGridView1.Rows(0).Cells("Column2").Selected = True
    Column2.Items.AddRange("1", "2", "3")
    DataGridView1.Rows(1).Cells("Column2").Selected = True
    Column2.Items.AddRange("4", "5", "6")


Et le résultat donné est le suivant : sur la ligne 1 ou 2 j'ai le choix entre 1 - 2 - 3 - 4 - 5 - 6 !!!

Par avance merci

Olivier

5 réponses

foliv57 Messages postés 420 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 15 juillet 2014 9
15 janv. 2013 à 15:06
Bonjour,

Il faut faire de cette manière :
DataGridView1.Rows.Clear()
DataGridView1.Rows.Add("Ligne 1", "")
DataGridView1.Rows.Add("Ligne 2", "")

Dim combo As DataGridViewComboBoxCell
combo = CType(Me.DataGridView1.Rows(0).Cells("Column2"), DataGridViewComboBoxCell)
combo.Items.AddRange("1", "2", "3")
combo = CType(Me.DataGridView1.Rows(1).Cells("Column2"), DataGridViewComboBoxCell)
combo.Items.AddRange("4", "5", "6")


Sinon vous ajoutez les items à la colonne et pas à la cellule
3
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
15 janv. 2013 à 15:21
Bonjour foliv57,

En effet, cela fonctionne bien !

J'étais parti sur l'idée mais pas réussi à finaliser !

Merci pour ton aide.

Olivier
0
NesrineBenSAlah
29 mars 2013 à 13:16
Salut à tous ,
j'ai un DAtaGridView dans lequel je veux insérer des donnée . lorsque je clique j'affiche un formulaire et à partir de ce dernier je saisit les données , aprés j'appuie sur le bouton Ajouter . L'ajout se fait sans problème mais l'insertion se fait sur la même ligne de la DataGridView. j'ai pas su comment faire

Voici le code complet :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
    public partial class AjoutAd : Form
    {
        public AjoutAd()
        {
            InitializeComponent();
        }
        public void vider()
        {
            using (FondSocialEntities1 context = new FondSocialEntities1())
            {
             
                PrenomAd.Text = string.Empty;
                NomAd.Text=string.Empty;
                DateNaissAd.Text = string.Empty;
                AdresseAd.Text = string.Empty;
                NbEnf.Text = string.Empty;
                numAdmin.Text = string.Empty;
                DateTitu.Text = string.Empty;
                Poste.Text = string.Empty;
                salaire.Text = string.Empty;
            }
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {

        }

        private void annuler_Click(object sender, EventArgs e)
        {
            this.Close();
            ListeAD liste = new ListeAD();
            liste.Show();
        }

        private void valdier_Click(object sender, EventArgs e)
        {
            using (FondSocialEntities1 context = new FondSocialEntities1())
            {
                try
                {

                    Adhérent adh = new Adhérent();
                    adh.Prenom_Ad = PrenomAd.Text;
                    adh.Nom_Ad = NomAd.Text;
                    adh.Date_Naiss = Convert.ToDateTime(DateNaissAd.Text);
                    adh.adr = AdresseAd.Text;
                    adh.Nb_Enf = Convert.ToInt32(NbEnf.Text);
                    adh.Num_Admin = Convert.ToInt32(numAdmin.Text);
                    adh.Date_Titu = Convert.ToDateTime(DateTitu.Text);
                    adh.Nom_Post = Poste.Text;
                    adh.Salaire = Convert.ToInt32(salaire.Text);
                    

                    context.AddToAdhérent(adh);
                    context.SaveChanges();
                    
                    MessageBox.Show("وقعت إضافة العضو");
                    vider();


                }

                catch (Exception e1)
                {

                    MessageBox.Show("لم تقع الإضافة");


                }
                






            }




        }

        private void button1_Click(object sender, EventArgs e)
        {
            vider();
            PrenomAd.Select();

        }

        private void PrenomAd_TextChanged(object sender, EventArgs e)
        {
            
        }
    }
}



Merci de m'aider c'est à propos de mon PFE et j'arrive pas à avancer . C'est urgent Merci
0
Utilisateur anonyme
29 mars 2013 à 19:29
Bonjour,

Merci de m'aider c'est à propos de mon PFE et j'arrive pas à avancer . C'est urgent Merci


Nous, on s'en sacre que ce soit ton PFE et que ce soit urgent. Nos urgences à nous, c'est déjà assez. Et puis ce qui est vraiment urgent pour toi c'est d'apprendre à mettre tes questions en C aiguisé ailleurs que dans le forum VB.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NesrineBenSAlah
29 mars 2013 à 20:39
c'est très gentil ! Merci
0
Rejoignez-nous