示例#1
0
        public static void crud_personne(Char c, String cle)
        {
            // Le Char c correspond à l'action : c:create, u update, d delete,
            // la cle est celle de l'enregistrement sélectionné, vide si action d’ajout (c = ‘c’)

            int      index    = 0;
            FormCRUD formCRUD = new FormCRUD(); // création de la nouvelle forme

            if (c == 'c')                       // mode ajout donc pas de valeur à passer à la nouvelle forme
            {
                //on met les zones de texte de formCRUD à vide
                formCRUD.TxtNom.Text    = "";
                formCRUD.TxtPrenom.Text = "";
                formCRUD.TxtForm.Text   = "";
            }

            if (c == 'u' || c == 'd') // mode update ou delete donc on récupère les champs
            {
                string sortExpression = "IdPersonne";
                vmodele.Dv_personne.Sort = sortExpression; // on trie le DataView sur les IdPersonne

                // on recherche l’indice où se trouve la personne sélectionnée
                // grâce à la valeur passée en paramètre donc grâce à son Id
                index = vmodele.Dv_personne.Find(cle);

                // on remplit les zones par les valeurs du dataView correspondantes
                formCRUD.TxtNom.Text    = vmodele.Dv_personne[index][1].ToString();
                formCRUD.TxtPrenom.Text = vmodele.Dv_personne[index][2].ToString();
                formCRUD.TxtForm.Text   = vmodele.Dv_personne[index][3].ToString();
            }
            // on affiche la nouvelle form
            formCRUD.ShowDialog();
            // si l’utilisateur clique sur OK
            if (formCRUD.DialogResult == DialogResult.OK)
            {
                if (c == 'c') // ajout
                {
                    // on crée une nouvelle ligne dans le dataView
                    DataRowView newRow = vmodele.Dv_personne.AddNew();
                    newRow["nom"]         = formCRUD.TxtNom.Text;
                    newRow["prenom"]      = formCRUD.TxtPrenom.Text;
                    newRow["IdFormation"] = formCRUD.TxtForm.Text;
                    newRow.EndEdit();
                }

                if (c == 'u') // modif
                {
                    vmodele.Dv_personne[index]["nom"]         = formCRUD.TxtNom.Text;
                    vmodele.Dv_personne[index]["prenom"]      = formCRUD.TxtPrenom.Text;
                    vmodele.Dv_personne[index]["IdFormation"] = formCRUD.TxtForm.Text;
                }

                if (c == 'd') // suppression
                {
                    // on supprime l’élément du DataView
                    vmodele.Dv_personne.Table.Rows[index].Delete();
                }
                MessageBox.Show("OK : données enregistrées");
                formCRUD.Dispose(); // on ferme la form
            }
            else
            {
                MessageBox.Show("Annulation : aucune donnée enregistrée");
                formCRUD.Dispose();
            }
        }
示例#2
0
        public static void crud_personne(Char c, String cle)
        {
            // Le Char c correspond à l'action : c:create, u update, d delete,
            // la cle est celle de l'enregistrement sélectionné, vide si action d’ajout (c = ‘c’)

            int index = 0;
            FormCRUD formCRUD = new FormCRUD(); // création de la nouvelle forme
            if (c == 'c') // mode ajout donc pas de valeur à passer à la nouvelle forme
            {
                //on met les zones de texte de formCRUD à vide
                formCRUD.TxtNom.Text = "";
                formCRUD.TxtPrenom.Text = "";
                formCRUD.TxtForm.Text = "";
            }

            if (c == 'u' || c == 'd') // mode update ou delete donc on récupère les champs
            {
                string sortExpression = "IdPersonne";
                vmodele.Dv_personne.Sort = sortExpression; // on trie le DataView sur les IdPersonne

                // on recherche l’indice où se trouve la personne sélectionnée
                // grâce à la valeur passée en paramètre donc grâce à son Id
                index = vmodele.Dv_personne.Find(cle);

                // on remplit les zones par les valeurs du dataView correspondantes
                formCRUD.TxtNom.Text = vmodele.Dv_personne[index][1].ToString();
                formCRUD.TxtPrenom.Text = vmodele.Dv_personne[index][2].ToString();
                formCRUD.TxtForm.Text = vmodele.Dv_personne[index][3].ToString();
            }
            // on affiche la nouvelle form
            formCRUD.ShowDialog();
            // si l’utilisateur clique sur OK
            if (formCRUD.DialogResult == DialogResult.OK)
            {
                if (c == 'c') // ajout
                {
                    // on crée une nouvelle ligne dans le dataView
                    DataRowView newRow = vmodele.Dv_personne.AddNew();
                    newRow["nom"] = formCRUD.TxtNom.Text;
                    newRow["prenom"] = formCRUD.TxtPrenom.Text;
                    newRow["IdFormation"] = formCRUD.TxtForm.Text;
                    newRow.EndEdit();
                }

                if (c == 'u') // modif
                {
                    vmodele.Dv_personne[index]["nom"] = formCRUD.TxtNom.Text;
                    vmodele.Dv_personne[index]["prenom"] = formCRUD.TxtPrenom.Text;
                    vmodele.Dv_personne[index]["IdFormation"] = formCRUD.TxtForm.Text;
                }

                if (c == 'd') // suppression
                {
                    // on supprime l’élément du DataView
                    vmodele.Dv_personne.Table.Rows[index].Delete();
                }
                MessageBox.Show("OK : données enregistrées");
                formCRUD.Dispose(); // on ferme la form
            }
            else
            {
                MessageBox.Show("Annulation : aucune donnée enregistrée");
                formCRUD.Dispose();
            }
        }