Lier un DataGridView à un déplacement dans la Base de Données [Résolu]

Signaler
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016
-
dodo7263
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
-
Bonjour à tous,
j'ai une grosse difficulté que je cherche à surmonter, trouver le titre a été un problème. Voilà, j'ai des enregistrements que j'affiche dans des textbox et dans un datagridview, j'ai des boutons de commande pour me déplacer, en avant , en arrière: mon souhait est de pouvoir déplacer le curseur du DataGridView sur l'enregistrement correspondant lorsque je Click sur un des boutons de déplacement dans les enregistrements.
Le Code d'un de mes boutons de navigation est le suivant:
        private void Click_Suivant(object sender, EventArgs e)
        {
            try
            {
                if (i < iMax)
                {
                    //Passage à l'Elève suivant
                    i++;
                    //Refresh du propect et du label
                    Label_Effectif();
                    Afficher();
                    //this.dgvEleves.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvEleves_CellClick);
                    //this.dgvEleves.Capture += this.dgvEleves_CellClick(object sender, DataGridViewCellEventArgs e);
                }
                else
                {
                    MessageBox.Show("Vous êtes en Fin de Liste", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Concat("Erreur: ", ex.Message));
            }
        }


Le code du click dans le DataGridView

        private void dgvEleves_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

            this.txtCodeEleve.Text = this.dgvEleves.CurrentRow.Cells[0].Value.ToString();
            this.txtNomEleve.Text = this.dgvEleves.CurrentRow.Cells[1].Value.ToString();
            this.txtPrenomEleve.Text = this.dgvEleves.CurrentRow.Cells[2].Value.ToString();
            this.txtSexe.Text = this.dgvEleves.CurrentRow.Cells[3].Value.ToString();
            this.txtDateNaissance.Text = this.dgvEleves.CurrentRow.Cells[4].Value.ToString();
            this.txtLieuNaissance.Text = this.dgvEleves.CurrentRow.Cells[5].Value.ToString();
            this.txtNationalite.Text = this.dgvEleves.CurrentRow.Cells[6].Value.ToString();
            this.txtNomPere.Text = this.dgvEleves.CurrentRow.Cells[7].Value.ToString();
            this.txtNomMere.Text = this.dgvEleves.CurrentRow.Cells[8].Value.ToString();
            this.txtTuteur.Text = this.dgvEleves.CurrentRow.Cells[9].Value.ToString();
            this.txtFonction.Text = this.dgvEleves.CurrentRow.Cells[10].Value.ToString();
            this.txtAdresse.Text = this.dgvEleves.CurrentRow.Cells[11].Value.ToString();
            this.txtTelephone.Text = this.dgvEleves.CurrentRow.Cells[12].Value.ToString();
            this.txtClasse.Text = this.dgvEleves.CurrentRow.Cells[13].Value.ToString();
            this.txtDateInscription.Text = this.dgvEleves.CurrentRow.Cells[14].Value.ToString();
            this.txtAnneeScolaire.Text = this.dgvEleves.CurrentRow.Cells[15].Value.ToString();
            this.txtEcole.Text = this.dgvEleves.CurrentRow.Cells[16].Value.ToString();
            this.txtExClasse.Text = this.dgvEleves.CurrentRow.Cells[17].Value.ToString();
            this.txtExAnnee.Text = this.dgvEleves.CurrentRow.Cells[18].Value.ToString();
            this.txtDoublant.Text = this.dgvEleves.CurrentRow.Cells[19].Value.ToString();
            this.txtMoyenne.Text = this.dgvEleves.CurrentRow.Cells[20].Value.ToString();
            this.txtDiplome.Text = this.dgvEleves.CurrentRow.Cells[21].Value.ToString();
            this.txtStatut.Text = this.dgvEleves.CurrentRow.Cells[22].Value.ToString();
            this.txtDecision.Text = this.dgvEleves.CurrentRow.Cells[23].Value.ToString();
            this.txtRegime.Text = this.dgvEleves.CurrentRow.Cells[25].Value.ToString();
            this.txtTransfert.Text = this.dgvEleves.CurrentRow.Cells[26].Value.ToString();
        }


Comment faire, aidez moi.

6 réponses

Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
Salut,

Excuse moi mais je n'ai pas bien compris ce que tu cherches à faire ni ton problème si problème il y a.
Lorsque tu cliques sur ton bouton suivant ça fonctionne ou non ?
Tes textbox ne se remplissent pas ?

@++
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016

Merci pour ta réponse,
Lorsque je click sur l'un des mes boutons, je me déplace normalement, mais je souhaite lier ce déplacement au mouvement du curseur de mon DataGridView, qu'il affiche l'enregistrement correspondant.
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
Re,

Désolé pour mon temps de réponse mais as tu essayé d'utiliser l'événement selectionChanged de ton datatgridview.

private void dgvEleves_SelectionChanged(object sender, EventArgs e)
{

            this.txtCodeEleve.Text = this.dgvEleves.CurrentRow.Cells[0].Value.ToString();
            this.txtNomEleve.Text = this.dgvEleves.CurrentRow.Cells[1].Value.ToString();
            this.txtPrenomEleve.Text = this.dgvEleves.CurrentRow.Cells[2].Value.ToString();
            this.txtSexe.Text = this.dgvEleves.CurrentRow.Cells[3].Value.ToString();
            this.txtDateNaissance.Text = this.dgvEleves.CurrentRow.Cells[4].Value.ToString();
            this.txtLieuNaissance.Text = this.dgvEleves.CurrentRow.Cells[5].Value.ToString();
            this.txtNationalite.Text = this.dgvEleves.CurrentRow.Cells[6].Value.ToString();
            this.txtNomPere.Text = this.dgvEleves.CurrentRow.Cells[7].Value.ToString();
            this.txtNomMere.Text = this.dgvEleves.CurrentRow.Cells[8].Value.ToString();
            this.txtTuteur.Text = this.dgvEleves.CurrentRow.Cells[9].Value.ToString();
            this.txtFonction.Text = this.dgvEleves.CurrentRow.Cells[10].Value.ToString();
            this.txtAdresse.Text = this.dgvEleves.CurrentRow.Cells[11].Value.ToString();
            this.txtTelephone.Text = this.dgvEleves.CurrentRow.Cells[12].Value.ToString();
            this.txtClasse.Text = this.dgvEleves.CurrentRow.Cells[13].Value.ToString();
            this.txtDateInscription.Text = this.dgvEleves.CurrentRow.Cells[14].Value.ToString();
            this.txtAnneeScolaire.Text = this.dgvEleves.CurrentRow.Cells[15].Value.ToString();
            this.txtEcole.Text = this.dgvEleves.CurrentRow.Cells[16].Value.ToString();
            this.txtExClasse.Text = this.dgvEleves.CurrentRow.Cells[17].Value.ToString();
            this.txtExAnnee.Text = this.dgvEleves.CurrentRow.Cells[18].Value.ToString();
            this.txtDoublant.Text = this.dgvEleves.CurrentRow.Cells[19].Value.ToString();
            this.txtMoyenne.Text = this.dgvEleves.CurrentRow.Cells[20].Value.ToString();
            this.txtDiplome.Text = this.dgvEleves.CurrentRow.Cells[21].Value.ToString();
            this.txtStatut.Text = this.dgvEleves.CurrentRow.Cells[22].Value.ToString();
            this.txtDecision.Text = this.dgvEleves.CurrentRow.Cells[23].Value.ToString();
            this.txtRegime.Text = this.dgvEleves.CurrentRow.Cells[25].Value.ToString();
            this.txtTransfert.Text = this.dgvEleves.CurrentRow.Cells[26].Value.ToString();
        }


@++
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016

Merci une fois encore, mais ce que je souhaite, c'est d'avoir la ligne de mon DataGridView en surbrillance correspondant à l'neregistrement affiché dans les textBox, et cela à chaque changement d'affichage. Merci encore
dodo7263
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
Salut,

dans ton bouton de déplacement essais ceci :

datagridview.CurrentCell = datagridview.Rows[rowIndex].Cells[0];
datagridview.Rows[rowIndex].Selected = true;


@++
warzet
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016

Merci à toi Dodo ce bout de code fait absolument mon affaire
Messages postés
14239
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 février 2020
343
Bonsoir,

ceci peut correspondre à ton besoin.
Messages postés
44
Date d'inscription
lundi 27 août 2007
Statut
Membre
Dernière intervention
1 novembre 2016

Merci à vous tous pour votre précieuse aide, en particulier Dodo7263 dont le dernier bout de code a fait exactement ce que je souhaitais. Merci
dodo7263
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
Si ça te convient n'oublie pas de passer ton sujet en résolu ;-)