begin process at 2008 07 20 15:52:04
1 213 292 membres
207 nouveaux aujourd'hui
14 166 membres club

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 : 10 782

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

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+.
13 août 2004 11:50:36 :
.
  • 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

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS