IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

CheckBoxList et listbox


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut CheckBoxList et listbox
    Bonjour,
    Je travail sur un projet de gestion de scolarité,j'ai utilisé un dropdownlist pour afficher les semestres et une listbox pour afficher les modules du semestre choisi jusque ici sa marche , mais ce qi marche pas c'est aussi d'afficher les matière d'un module de la listbox dans une CheckBoxList .
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     protected void Page_Load(object sender, EventArgs e)
        {
     
        if (!IsPostBack)
            {
     
                SqlConnection con = new SqlConnection(ConnectionString);
     
                con.Open();
                string rqt18 = "select * from SEMESTRE";
                SqlCommand cm18 = new SqlCommand(rqt18, con);
                SqlDataReader dr18 = cm18.ExecuteReader();
                while (dr18.Read())
                {
                    itm18 = new ListItem(dr18["LIBELLE_SEMESTRE"].ToString(), dr18["CODE_SEMESTRE"].ToString());
     
                    DropDownList1.Items.Add(itm18);
     
                }
                dr18.Close();
     
                string sqlStatement = "SELECT * FROM MODULE  WHERE CODE_SEMESTRE='" + DropDownList1.SelectedValue + "' ";
                SqlCommand sqlCmd = new SqlCommand(sqlStatement, con);
                SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
                SqlDataReader dr1 = sqlCmd.ExecuteReader();
     
                while (dr1.Read())
                {
                    ListBox1.DataSource = dr1;
                    ListBox1.DataTextField = "LIBELLE_MODULE"; // the items to be displayed in the list items  
                    ListBox1.DataValueField = "CODE_MODULE"; // the id of the items displayed  
                    ListBox1.DataBind();
     
                } dr1.Close();
     
     
                SqlDataAdapter da = new SqlDataAdapter("SELECT CODE_MATIERE, LIBELLE_MATIERE FROM MATIERE where CODE_MODULE='" + ListBox1.SelectedValue + "'", con);
                DataTable dt = new DataTable();
                chkBoxEx.DataTextField = "LIBELLE_MATIERE";
     
                da.Fill(dt);
                chkBoxEx.DataSource = dt;
                chkBoxEx.DataBind();
     
                          SqlCommand sqlcmd = new SqlCommand("select NUM_INSCRIPTION,NOM_PRENOM_ETUDIANT  from [ETUDIANT]", con);
     
                SqlDataAdapter adp = new SqlDataAdapter(sqlcmd);
                DataSet ds = new DataSet();
                adp.Fill(ds);
     
                GridView1.DataSource = ds.Tables[0];
     
                GridView1.DataBind();
            }
        }
     
     
        private void BindData()
        {
            SqlConnection con = new SqlConnection(ConnectionString);
            SqlDataAdapter da = new SqlDataAdapter("SELECT CODE_MODULE, LIBELLE_MODULE FROM MODULE where CODE_SEMESTRE='" + DropDownList1.SelectedValue + "'", con);
            DataTable dt = new DataTable();
            da.Fill(dt);
            ListBox1.DataSource = dt;
            ListBox1.DataBind();
     
        }
     
     
        private string ConnectionString
        {
            get
            {
                string con = (@"maconnection");
     
                 return con;
            }
        }
        protected void DrDoList2_SelectedIndexChanged(object sender, EventArgs e)
        {
            BindData();
     
     
        }
    Merci.

  2. #2
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Dans ton rDoList2_SelectedIndexChanged tu appel la fonction DataBind, et la fonction databind fait un Rebind seulement de ta première listebox pour la deuxième il n y a pas de changement !!

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Merci Morad ,
    J'ai ajouté bindata2() pour chkBoxEx_SelectedIndexChanged mais j'ai toujours pas de checkboxlist même avant le rebind.
    Merci

  4. #4
    Membre très actif Avatar de Sacha999
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Par défaut
    Tu dois mettre "bindata2();" après "bindata();"

    De plus les matieres doivent se raffraichir quand tu changes de semestre ou quand tu changes de module ou les 2?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Bonjour,
    Les matières doivent se rafraîchir quand je change de module .
    J'ai met bindata2();" après "bindata(); mais toujours pas.
    Je pense que j'ai une erreur en sql?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       ("SELECT CODE_MATIERE, LIBELLE_MATIERE FROM MATIERE where CODE_MODULE='" + ListBox1.SelectedValue + "'", con);
    ListBox1.SelectedValue me donne LIBELLE_MODULE et moi j'ai besoin de code module .
    mais je sais pas comment avoir le code module toute en affichant dans la listbox le LIBELLE_MODULE.
    Merci.

  6. #6
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    ListBox1.SelectedValue me donne LIBELLE_MODULE et moi j'ai besoin de code module .
    Tu dois mettre CODE_MODULE dans le DataValueField de ta listebox

    ListBox1.DataValueField = "CODE_MODULE"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DrawItem d'un listbox...
    Par scorpiwolf dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/06/2007, 15h50
  2. [Listbox] ScrollBar Horizontal
    Par haleem dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/04/2005, 07h53
  3. Recuper les items de ListBox d'une autre application [API?]
    Par Shamanisator dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 27/09/2002, 12h32
  4. [Canvas] Listbox, couleur et multiselect
    Par rbag dans le forum Composants VCL
    Réponses: 3
    Dernier message: 25/09/2002, 13h02
  5. Copier le texte d'un ListBox dans le clipboard.
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/08/2002, 08h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo