Bonjour,

J'ai créé une page comportant deux boutons.
Si je leur assigne des opérations "bidons", ça fonctionne. Par exemple :
  • au clic sur btn1 :
  • au clic sur btn2 :
Je peux alterner comme je veux, cliquer dans tous les sens, ça fonctionne toujours.

Ensuite, j'ai du code plus "sérieux" à leur associer. Quand ce code est exécuté, le deuxième bouton ne fonctionne plus (avec un point d'arrêt en debug, le code n'est pas exécuté). À ce premier bouton, j'ai le 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
       private void btnAccepter_Click(object sender, System.EventArgs e)
       {
 
        Hashtable __connections = (Hashtable)ConfigurationSettings.GetConfig("user_params");
        IDictionaryEnumerator __enum    =    __connections.GetEnumerator();
        strDepot = __connections["depot"].ToString();
 
        // Création du tableau
        dt = new DataTable();
        // > Création des colonnes
        // > > Nom de fichier
        DataColumn col_fichier = new DataColumn("Nom de fichier");
        col_fichier.DataType = Type.GetType("System.String");
        col_fichier.Caption = "Nom du script";
        // > > Date de création
        DataColumn col_date = new DataColumn("Date de création");
        col_date.DataType = Type.GetType("System.String");
        col_date.Caption = "Date de création";
        // > > Heure de création
        DataColumn col_heure = new DataColumn("Heure de création");
        col_heure.DataType = Type.GetType("System.String");
        col_heure.Caption = "Heure de création";
        // > Ajout des colonnes au tableau
        dt.Columns.Add(col_fichier);
        dt.Columns.Add(col_date);
        dt.Columns.Add(col_heure);
 
        DataRow mRow;
        System.IO.FileInfo fi;
 
        foreach (string strFichier in System.IO.Directory.GetFiles(strDepot,"*.sql"))
        {    
            mRow = dt.NewRow();
            fi = new FileInfo(strFichier);
            mRow[0] = strFichier.Replace(strDepot,"");
            mRow[1] = fi.CreationTime.Date.ToShortDateString();
            mRow[2] = fi.CreationTime.Hour.ToString() 
                + ":" + fi.CreationTime.Minute.ToString()
                + ":" + fi.CreationTime.Second.ToString();
            dt.Rows.Add(mRow);
        }
        if (dt.Rows.Count > 0) // Tableau pas vide
        {
            // Pas de message d'erreur
            lblPasFichiers.Visible        = false;
            btnChoix.Visible            = true;
            // Affichage des données
            ds.Tables.Add(dt);
            dg.DataSource = ds;
            dg.DataBind();
        }
        else // Tableau vide
        {
            // Aucun fichier
            lblPasFichiers.Visible        = true;
            btnChoix.Visible            = false;
        }
       }
Ai-je raté un détail ? Mis un bout de code "bloquant" ?

Dans ce code, dg est un DataGrid, dt un DataTable et ds un DataSet.

Merci d'avance !

Alban

PS : (pour info) L'objectif final de ce code est de lister les fichiers SQL d'un répertoire pour ensuite permettre leur affichage dans une TextBox (pour vérifier qu'on a bien sélectionné le bon) et enfin le supprimer.

PPS : si c'est utile de préciser ce petit bout de code :
Code C# : 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
      private void InitializeComponent()
      /// <summary>
      /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
      /// le contenu de cette méthode avec l'éditeur de code.
      /// </summary>
      {
          this.ds = new System.Data.DataSet();
          ((System.ComponentModel.ISupportInitialize)(this.ds)).BeginInit();
          this.btnAccepter.Click += new System.EventHandler(this.btnAccepter_Click);
          this.btnChoix.Click += new System.EventHandler(this.btnChoix_Click);
          // 
          // ds
          // 
          this.ds.DataSetName = "ds";
          this.ds.Locale = new System.Globalization.CultureInfo("fr-FR");
          this.Load += new System.EventHandler(this.Page_Load);
          ((System.ComponentModel.ISupportInitialize)(this.ds)).EndInit();
 
      }