Liste répertoire + sous-répertoire dans un DataGridView

cs_iceman64b Messages postés 30 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 5 mars 2013 - 5 mars 2013 à 19:40
Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 - 5 mars 2013 à 22:34
Bonjour,

Je cherches à lister le contenu plusieurs dizaines de répertoire et sous-répertoire, selon une extension spécifique.

Je ne peux pas utiliser .Net 4.0 ou plus (je suis avec VS 2008 sous XP).

Problème #1 : mon programme fonctionne mais il prend du temps et VS finit par me donner une exception en me disant que l'opération fera en sorte que le programme ne répondra plus (si il continue). J'utilise la fonction GetFiles et elle me retourne seulement la liste des fichiers à la fin de l'opération de recherche.

Je dois donc trouver un moyen d'avoir la liste des fichiers au fur et à mesure que le programme les trouvent.

Problème #2 : J'ai trouvé en fouillant et en lisant que je pouvais mettre la commande dans un IEnumarate (récursivité) dans une liste et affecté cette liste au DataSource de mon DataGridView. Ça fonctionne. Cependant, je ne veux pas toute les infos du fichier mais seulement le nom et le chemin (path).

Comme faire pour que je puisses avoir seulement les colonnes que je veux dans mon DataGridView ?

Voici la commande récursive que j'utilise :

private void BLister_Click(object sender, EventArgs e)
        {
            var result = from file in
                             new DirectoryInfo(chemin).GetFiles("*.JPG", SearchOption.AllDirectories)
                         select file;
            DGView.DataSource = result.ToList();

1 réponse

Whismeril Messages postés 19029 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 26 avril 2024 656
5 mars 2013 à 22:34
Bonsoir,

pour avoir le résultat au fur et à mesure, regarde du coté du backgroundworker.

Pour choisir les colonnes dans le datagridview, regarde . Sinon si tu ne veux qu'une colonne, tu peux utiliser une listbox en te servant de la propriété
displaymember.


Whismeril
0
Rejoignez-nous