Utiliser une DataGridView depuis une classe statique

guillaume.evt Messages postés 4 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 21 septembre 2014 - Modifié par Whismeril le 21/09/2014 à 18:02
guillaume.evt Messages postés 4 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 21 septembre 2014 - 21 sept. 2014 à 18:42
Bonjour,

Cela fait maintenant quelques jour que j'essaie de résoudre ce problème mais je ne comprends pas du tout comment faire...
J'essaie de faire un gestionnaire d'événements. Pour cela j'utilise des méthodes statiques afin de pouvoir utiliser ce gestionnaire depuis n'importe quels endroits de mon programme. Cependant étant donné que c'est des méthodes statiques je ne peux pas utiliser mes DataGridView ou je voudrais qu'ils s'affichent. Je comprends que ça ne marche pas mais je ne sais pas comment faire pour que je puisse avoir à la fois des méthodes statiques que j'utilisent depuis tous les endroits de mon programme et à la fois des méthodes pouvant ajouter des lignes à mes DataGridView.

Voici le code pour l'ajout de mes lignes.

public static void LogError(string Data)
        {
            String Date = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss");
            string[] OutputRow = { Date, Data };
            string[] OutputRow2 = { TypeLogger.Error.ToString(), Date, Data };
            GridError.Rows.Add(OutputRow);
            GridAny.Rows.Add(OutputRow2);
            WriteFile(OutputRow2);
        }


Pouvez-vous m'aider svp.

Merci par avance.

7 réponses

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 sept. 2014 à 18:05
Bonjour, message modifié par l'ajout des balises de code.
Voir ici comment bien utiliser la coloration syntaxique.
0
guillaume.evt Messages postés 4 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 21 septembre 2014
21 sept. 2014 à 18:10
Je ne savais pas désolé. Sais-tu par hasard comment faire pour résoudre mon problème ?
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 sept. 2014 à 18:14
J'y réfléchie, mais pour moi déjà écrire dans un datagridview si par la suite on doit traiter les données n'est pas la bonne solution.
Le mieux est de traiter une collection de données et de binder cette collection au datagridview, ainsi par exemple, quand par la suite tu traites une date, c'est une date et non un string à convertir.
0
guillaume.evt Messages postés 4 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 21 septembre 2014
21 sept. 2014 à 18:19
Qu'entends tu par binder la collection au datagridview ?
0

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

Posez votre question
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 sept. 2014 à 18:30
Voir le lien.
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 sept. 2014 à 18:39
        public static void LogError(string Data, DataGridView GridError, DataGridView GridAny)
        {
            string Date = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss");
            string[] OutputRow = { Date, Data };
            string[] OutputRow2 = { "Du Texte Ici", Date, Data };
            GridError.Rows.Add(OutputRow);
            GridAny.Rows.Add(OutputRow2);
        }


Ceci fonctionne comme tu le souhaites, mais il faut pouvoir passer tes datagridview en référence:
            GuillaumeEvt.LogError("Une erreur", dataGridView2, dataGridView1);

0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 sept. 2014 à 18:40
ne pas oublier
using System.Windows.Forms;
0
guillaume.evt Messages postés 4 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 21 septembre 2014
21 sept. 2014 à 18:42
Merci
0
Rejoignez-nous