Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DÉTAIL DES FICHIERS D'UN RÉPERTOIRE DANS UNE LISTVIEW


Information sur la source

Catégorie :Fichiers / Disque Source .NET ( DotNet ) Classé sous : fichier, répertoire, détail, listview Niveau : Débutant Date de création : 13/08/2004 Date de mise à jour : 13/08/2004 11:50:36 Vu : 12 434

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Permet de visionner tous les fichiers (d'un type particulier) d'un répertoire dans une listView.
Affiche dans la listView le détail du fichier.
 

Source

  • //Ouverture de la boite de dialog
  • if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
  • {
  • //Remise à zéro et création des options de la liste
  • listView1.Clear();
  • //Active la fonction classement
  • listView1.Sorting = SortOrder.Ascending;
  • //Active les checkboxes
  • listView1.CheckBoxes = true;
  • //Active l'affichage des grilles
  • listView1.GridLines = true;
  • //Active le mode détail
  • listView1.View = View.Details;
  • //Création des colonnes
  • ColumnHeader header1, header2, header3, header4;
  • header1 = new ColumnHeader();
  • header2 = new ColumnHeader();
  • header3 = new ColumnHeader();
  • header4 = new ColumnHeader();
  • //Création des noms de olonnes avec quelques options (taille, etc...)
  • header1.Text = "Nom";
  • header1.TextAlign = HorizontalAlignment.Left;
  • header1.Width = 100;
  • header2.TextAlign = HorizontalAlignment.Left;
  • header2.Text = "Taille";
  • header2.Width = 80;
  • header3.TextAlign = HorizontalAlignment.Left;
  • header3.Text = "Modifier le";
  • header3.Width = 115;
  • header4.TextAlign = HorizontalAlignment.Left;
  • header4.Text = "Répertoire";
  • header4.Width = 400;
  • //Ajout des colonnes à la listView
  • listView1.Columns.Add(header1);
  • listView1.Columns.Add(header2);
  • listView1.Columns.Add(header3);
  • listView1.Columns.Add(header4);
  • //Récupération du path
  • string Spath = folderBrowserDialog1.SelectedPath;
  • DirectoryInfo dirInfo = new DirectoryInfo(Spath);
  • //Ajout d'un filtre afin d'ouvrir que les fichiers texte (par exemple)
  • FileInfo[] files = dirInfo.GetFiles("*.txt");
  • //Vérifie la présence de fichier du type sélectionner auparavent
  • if (files != null)
  • {
  • //Pour chaque fichier trouvé, on récupére ces infos
  • foreach (FileInfo file in files)
  • {
  • ListViewItem item = new ListViewItem(file.Name); //Nom du fichier
  • item.SubItems.Add(file.Length.ToString() + " octets"); //Taille du fichier en octets
  • item.SubItems.Add(file.LastWriteTime.ToString()); //Date du dernier accés
  • item.SubItems.Add(file.Directory.ToString()); //Répertoire du fichier
  • listView1.Items.Add(item); //Ajout à la liste
  • }
  • }
  • }
//Ouverture de la boite de dialog
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
	//Remise à zéro et création des options de la liste
listView1.Clear();
	//Active la fonction classement
listView1.Sorting = SortOrder.Ascending;
	//Active les checkboxes
listView1.CheckBoxes = true;
	//Active l'affichage des grilles
listView1.GridLines = true;
	//Active le mode détail
listView1.View = View.Details;

	//Création des colonnes
ColumnHeader header1, header2, header3, header4;
header1 = new ColumnHeader();
header2 = new ColumnHeader();
header3 = new ColumnHeader();
header4 = new ColumnHeader();
	//Création des noms de olonnes avec quelques options (taille, etc...)
header1.Text = "Nom";
header1.TextAlign = HorizontalAlignment.Left;
header1.Width = 100;

header2.TextAlign = HorizontalAlignment.Left;
header2.Text = "Taille";
header2.Width = 80;

header3.TextAlign = HorizontalAlignment.Left;
header3.Text = "Modifier le";
header3.Width = 115;

header4.TextAlign = HorizontalAlignment.Left;
header4.Text = "Répertoire";
header4.Width = 400;

	//Ajout des colonnes à la listView
listView1.Columns.Add(header1);
listView1.Columns.Add(header2);
listView1.Columns.Add(header3);
listView1.Columns.Add(header4);

	//Récupération du path
string Spath = folderBrowserDialog1.SelectedPath;
DirectoryInfo dirInfo = new DirectoryInfo(Spath);
	//Ajout d'un filtre afin d'ouvrir que les fichiers texte (par exemple)
FileInfo[] files = dirInfo.GetFiles("*.txt");

	//Vérifie la présence de fichier du type sélectionner auparavent			
if (files != null)
  {
	//Pour chaque fichier trouvé, on récupére ces infos
   foreach (FileInfo file in files)
     {
      ListViewItem item = new ListViewItem(file.Name); //Nom du fichier
      item.SubItems.Add(file.Length.ToString() + " octets"); //Taille du fichier en octets
      item.SubItems.Add(file.LastWriteTime.ToString());  //Date du dernier accés
      item.SubItems.Add(file.Directory.ToString()); //Répertoire du fichier
      listView1.Items.Add(item); //Ajout à la liste
      }
  }
}

Conclusion

A vous de rajouter des options pour votre listview.
Vous pouvez modifier le nombre de colonne comme vous voulez.
Ainsi que les informations que vous voulez afficher de votre fichier.
Voilà tout.
En espérant que sa peut vous aider.
A+.
 

Historique

13 août 2004 11:50:36 :
.

Commentaires et avis

signaler à un administrateur
Commentaire de zcrew le 19/08/2004 15:11:51

Ton code est bien commenté, court et ... UTILE merci

signaler à un administrateur
Commentaire de dionysos6868 le 24/08/2004 09:28:52

merci de ton code.

j'aurais une question

Comment faire pour colorier les cellule pour les fichier donc la taille depasse par exemple 10000 octet ??

Merci

signaler à un administrateur
Commentaire de Arlequine le 24/08/2004 09:44:13

Dionysos6868, pour changer la couleur insére ce code dans le foreach aprés avoir récupérer la taille de ton fichier.

if (file.Length > 10000)
     item.BackColor = System.Drawing.Color.Chocolate;

Ici j'ai mis la couleur "Chocolate", mais tu peux mettre la couleur que tu veux. Il te propose une large liste.

Amuse toi bien.

signaler à un administrateur
Commentaire de dionysos6868 le 24/08/2004 12:41:56

merci je suis co.. car j'ai regarder apres et j'avais trouver merci

je cherche a faire un planning mensuel et pour chaque jour et pour chaque agent afficher son code horaire.

Aurais tu une idée de comment faire???

signaler à un administrateur
Commentaire de Arlequine le 24/08/2004 15:14:34

Cela dépend de ta source de donnée. Si c'est une base SQL ou un gros fichiers texte (ou xml), tu as d'abord tout intérêt à tout charger en mémoire avec un dataset ou un truc de ce genre.

Si c pour une utilisation occasionnelle sur un petit fichier de donnée, à ce moment là pas besoin de tembêter à tout charger en mêmoire.

A part çà, tu peux prendre une listview1 (qui attaque soit le fichier direct, soit le dataset, mais à mon avis ce n'est pas la meilleur solution,disons que cela dépend ce que tu veux afficher) et en plus un dateTimePicker qui permet de sélectionner une date.

Si dans tes données tu posséde un champs date. Tu n'as plus qu'à le comparer avec la valeur saisie par le DateTimePicker et afficher les données relatives à cette date.

Ceci n'est qu'un exemple, il y a surement d'autre moyen de faire, qui peuve étre mieux. Cela dépend de ce que tu doit faire ainsi que tes contraintes.

Voilà tout.

signaler à un administrateur
Commentaire de dionysos6868 le 24/08/2004 16:13:56

ce que je veux fair c'est afficher tous les jour du mois en colone et pour chaque ligne le nom d'employer et pour chaque jour y mettre un code travail

signaler à un administrateur
Commentaire de telesto001 le 10/02/2005 15:53:54

Très, très très utile pour un newbie (comme moi).
Bravo !

signaler à un administrateur
Commentaire de saturnz le 03/03/2005 17:04:25

merci beaucoup la msdn me renvoyait a des trucs ou je comprenait rien

tres court et en fait facile d'acces

:) !

signaler à un administrateur
Commentaire de johnsno le 04/11/2005 13:55:03

merci pr le code sa ma bcp aidé à faire autre chose. mais je voulais savoir comment recuperer par un clic sur une ligne le contenu de la 3eme colonne. voila mon mail jnkamga@yahoo.fr

signaler à un administrateur
Commentaire de Vavavlp le 12/09/2007 20:00:20

Merci ce code ma beaucoup aidé pour remplir ma listview.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Status de fichier [ par SharpMao ] Salut à tous,Est-ce que quelqu'un sait si il y a un moyen de savoir si un fichier est actuellement ouvert en écriture par un autre processus? Je m'exp FileSystemWatcher et copie de nobreux fichiers [ par seblx ] Bonjour, J'essaye de lister dans un log la création de fichier dans un répertoire donné avec la classe FileSystemWatcher.  Tout v utilisation de listview pour choisir un ou plusieurs fichier [ par warenbe ] Bonjourj'ai un projet de logiciel qui servirait a envoyer a un serveur un ou plusieurs fichier. donc il faut que je puisse selectionner un ou plusieur Menu contextuel sur un fichier/répertoire [ par guillaumenegre ] Bonjour,J'aimerais pourvoir lancer une application C# avec un click droit sur un fichier ou un dossier, comme le fait Winzip, ... mais je n'arrive pas Ajout ListView [ par RM50Man ] Voila je ve ajouter le path dun fichier ds la listview que si celui ci ni est pas deja.Mais le probleme c'est que ca l ajoute meme si le path du fichi nombre de fichier répertoire [ par cameleon044 ] Bonjour, Je voudrais savoir s'il est possible de connaitre le nombre de fichiers présents dans un répertoire sans le scanner. Je m'explique, je voudr Détecter si le contenu d'un répertoire à changer [ par xmox667 ] Salut à la communauté,J'aimerais savoir si il existe un moyen simple de détecter si le contenu d'un répertoire  à changer:-Ajout et suppréssion  d'un WebService, help ! Connaître le répertoire du fichier ASMX [ par vow ] Bonjour,Je suis désespéré, et aussi un peu débutant en .Net .J'aimerais récuperer le chemin complet ou le chemin du répertoire du fichier ASMX de mon Lire tous les fichiers d'un répertoire donnée [ par sympatie0 ] Salut tout le monde,   Je débute avec Csharp et j'ai besoin de votre aide, je voudrai savoir comment faire pour récuper les nom des fichiers text d'un listview [ par verbeyst ] Je voudrais savoir comment faire pour mettre à jour une listeView. Quelle propriété dois-je utiliser??J'utilise beginUpdate et end update, mais ça ne


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.