Partage
  • Partager sur Facebook
  • Partager sur Twitter

Selectionner toutes les lignes et cellule datagrid

    31 mars 2020 à 6:21:51

    Bonsoir j'ai un petit probleme j'ai vu que pour selectionner une ligne d'un datagrid il fallait faire :
    dataGridView1.SelectedRows[0].Cells[8].Value.ToString());

    comment peux on faire si on veux selectionner toutes les lignes et toutes les cellules d'une colonne puis bien evidemment recuperer la Valeur.ToString();

    merci.

    -
    Edité par Pierre Durand 31 mars 2020 à 8:21:20

    • Partager sur Facebook
    • Partager sur Twitter
      31 mars 2020 à 8:45:34

      Bonjour,

      Je n'ai pas testé mais est-ce qu'il ne faut pas boucler sur dataGridView1.SelectedColumn[0].Cells ?

      • Partager sur Facebook
      • Partager sur Twitter
        31 mars 2020 à 9:07:43

        Bon ducoup j'ai réussi a les parcourir en faisant ce code ci : 

        foreach (DataGridViewRow row in dataGridView1.Rows)
                    {
                        foreach (DataGridViewCell cell in row.Cells)
                        {
                            int PORT = 587;
                            // configuration du message :
        
                            MailMessage message = new MailMessage();
                            message.IsBodyHtml = true;
                            message.From = new MailAddress(tbxFromN.Text, tbxSenderN.Text);
                            message.To.Add(new MailAddress(cell.Value.ToString()));
                            message.Subject = tbxSubject.Text;
                            message.Body = tbxLetter.Text;
                            message.IsBodyHtml = true;
                            message.Priority = MailPriority.Normal;
                            message.BodyEncoding = System.Text.Encoding.UTF8;
        
                            // configuration du SMTP :
        
                            using (var client = new System.Net.Mail.SmtpClient(tbxHost.Text, PORT))
                            {
                                client.Credentials =
                                    new NetworkCredential(tbxUser.Text, tbxPass.Text);
                                client.EnableSsl = true;
                                try
                                {
                                    client.Send(message);
                                    MessageBox.Show("Le mail a bien été envoyé!");
                                    progressBar.Value = 100;
                                    if (progressBar.Value > 99)
                                    {
                                        labelP.Text = "Done !";
                                    }
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine("Erreur dans l'envoi du mail",
                                        ex.ToString());
                                }
        
                            }
                        }
                    }

        Ca marche bien pour chaque mail envoyé ca m'affiche bien une fenêtre avec marqué mail bien envoyé maintenant le probleme c'est qu'une fois que la cellule est vide cela m'indique une erreur comme ca : 

        System.NullReferenceException : 'La référence d'objet n'est pas définie à une instance d'un objet.' System.Windows.Forms.DataGridViewCell.Value.get retournée null.

        comment faire pour qu'une fois que tout a ete envoyer ca ne m'affiche pas une erreur comme ca?

        • Partager sur Facebook
        • Partager sur Twitter
          31 mars 2020 à 9:42:58

          A quelle ligne, SVP ?
          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            31 mars 2020 à 10:25:34

            bacelar a écrit:

            A quelle ligne, SVP ?


            message.To.Add(new MailAddress(cell.Value.ToString()));
             a celle ci 

            • Partager sur Facebook
            • Partager sur Twitter
              31 mars 2020 à 10:52:46

              La cellule "cell" n'est pas forcement remplie. Faites le nécessaire pour gérer ce cas.
              • Partager sur Facebook
              • Partager sur Twitter
              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                31 mars 2020 à 10:53:18

                bacelar a écrit:

                La cellule "cell" n'est pas forcement remplie. Faites le nécessaire pour gérer ce cas.


                Je ne comprend pas vraiment ce qu'il y a a faire de mieux la..
                • Partager sur Facebook
                • Partager sur Twitter
                  31 mars 2020 à 12:54:19

                  Avant d'essayer d'envoyer un mail, vérifier qu'on dispose de l'adresse du destinataire.

                  Il vous manque un "if".

                  Bizarre de mettre un liste d'adresse sur une ligne plutôt que sur une colonne.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                    31 mars 2020 à 13:12:46

                    bacelar a écrit:

                    Avant d'essayer d'envoyer un mail, vérifier qu'on dispose de l'adresse du destinataire.

                    Il vous manque un "if".

                    Bizarre de mettre un liste d'adresse sur une ligne plutôt que sur une colonne.


                    A vrai dire une colonne défini le nom dun datagrid et les lignes sont le contenu de la colonne donc dans ma colonne 'email' j'ai inserer toutes mes emails lignes par lignes.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 mars 2020 à 14:07:42

                      >A vrai dire une colonne défini le nom dun datagrid et les lignes sont le contenu de la colonne donc

                      Vous pouvez imaginer ce que vous voulez, ce n'est pas ce qui est fait dans un objet DataGrid.

                      Là vous regardez toutes les cellules, une par une, et à la première vide, vous partez en cacahouète.

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

                      Selectionner toutes les lignes et cellule datagrid

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown