Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2477 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#.NET] Remplir un DataGrid a partir d'un répertoire, help please !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#.NET] Remplir un DataGrid a partir d'un répertoire, help please !

n°1425586
ParadoX
Posté le 15-08-2006 à 13:52:53  profilanswer
 


Bonjour,  
 
Je souhaite remplir un DataGrid avec une liste de fichiers obtenue avec
 

Code :
  1. Directory.GetFiles();


 
Si j'ai bien compris le concept du datagrid, il lui faut une source qui doit etre un DataSet ou un DataTable (corrigez-moi si je me trompe, ou s'il y a plus simple !)
 
Maintenant, comment remplir ce DataSet ou DataTable avec ma liste de fichiers ? :/
 
Merci !


---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
mood
Publicité
Posté le 15-08-2006 à 13:52:53  profilanswer
 

n°1425608
Vectteur
Hein ?
Posté le 15-08-2006 à 14:58:49  profilanswer
 

Displaying a Directory's Files in a DataGrid
To display a directory's files in a DataGrid (or DataList or Repeater) all we need to do is assign the String array or FileInfo array to the DataGrid's DataSource property and then call the DataGrid's DataBind() method. For this example, we'll use the DirectoryInfo.GetFiles() method instead of the Directory.GetFiles() method. If we opted to use the Directory.GetFiles() method then all we'd be able to show in the DataGrid is the file's name. By using the DirectoryInfo.GetFiles() method instead, we can display other attributes of the file, such as its size, last modified date, and so on.  
 
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
  Sub Page_Load(sender as Object, e as EventArgs)
    Dim dirInfo as New DirectoryInfo(Server.MapPath("" ))
     
    articleList.DataSource = dirInfo.GetFiles("*.aspx" )
    articleList.DataBind()
  End Sub
</script>
 
<asp:DataGrid runat="server" id="articleList" Font-Name="Verdana"
    AutoGenerateColumns="False" AlternatingItemStyle-BackColor="#eeeeee"
    HeaderStyle-BackColor="Navy" HeaderStyle-ForeColor="White"
    HeaderStyle-Font-Size="15pt" HeaderStyle-Font-Bold="True">
  <Columns>
    <asp:HyperLinkColumn DataNavigateUrlField="Name" DataTextField="Name"  
           HeaderText="File Name" />
    <asp:BoundColumn DataField="LastWriteTime" HeaderText="Last Write Time"
        ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
    <asp:BoundColumn DataField="Length" HeaderText="File Size"
  ItemStyle-HorizontalAlign="Right"  
  DataFormatString="{0:#,### bytes}" />
  </Columns>
</asp:DataGrid>


Message édité par Vectteur le 15-08-2006 à 15:00:51

---------------
ceci est un bloc de texte
n°1425609
Vectteur
Hein ?
Posté le 15-08-2006 à 14:59:39  profilanswer
 

ca vient de google, maintenant si ca convient pas essaie dautre mot clé
 
et apres si les exemple sont complexe on va te sortir de la :)
 
http://www.google.ca/search?hl=fr& [...] grid&meta=


---------------
ceci est un bloc de texte
n°1425612
ParadoX
Posté le 15-08-2006 à 15:21:47  profilanswer
 

Merci, je vais tenter d'adapter le code ASP en C#
 
 :jap:


---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
n°1425618
ParadoX
Posté le 15-08-2006 à 15:41:01  profilanswer
 

"and then call the DataGrid's DataBind() method" -> elle n'existe pas, cette methode. Enfin pas chez moi :/
Au debut javais un datagridview, je l'ai change en datagrid, mais tjrs le meme probleme :/


---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
n°1425621
ParadoX
Posté le 15-08-2006 à 15:49:51  profilanswer
 

Avec un  
 
str[] = Directory.GetFiles(path);
 
et un
 
monDataGrid.DataSource = str;
 
Mon datagrid se remplit, mais les noms de fichier ne sont pas affichés dans aucune colonne :/ (et il me rajoute une Colonne "Length" dans laquelle il remplit des valeurs pour chaque fichier)


Message édité par ParadoX le 15-08-2006 à 15:52:04

---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
n°1425633
ParadoX
Posté le 15-08-2006 à 16:13:45  profilanswer
 

Et en faisant:
 
 
DirectoryInfo dirInfo = new DirectoryInfo(monChemin);
DataGrid1.DataSource = dirInfo.GetFiles();  
 
... il me remplit mon datagrid, mais il cree plein de nouvelles colonnes telles que "date de creation, taille, nom, etc."
Je ne veux garder que le nom du fichier, et le faire afficher dans ma 1ere colonne :sweat:


Message édité par ParadoX le 15-08-2006 à 16:18:39

---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
n°1425642
Vectteur
Hein ?
Posté le 15-08-2006 à 16:51:34  profilanswer
 

tu doit pouvoir faire un genre de  
 
GetFiles().Column[X] pour trier ce que tu veux (.row[x] aussi )


---------------
ceci est un bloc de texte
n°1425645
ParadoX
Posté le 15-08-2006 à 16:55:00  profilanswer
 

Qqun m'a donné cette astuce:
 

Code :
  1. DataTable dt=new DataTable();   //Quelque part
  2. //...
  3. str[] = Directory.GetFiles("LeCheminDeMonDossier" );
  4. dt.Columns.Add("Nom de fichiers",typeof(string));
  5. for(int i=0;i<str.length();i++) dt.Rows.Add(new object[] {str[i]});
  6. madatagrid.DataSource=dt;


 
ca avance, ca se concretise. Maintenant, j'aimerais ajouter ces données dans une column deja presente dans ma form, au lieu de les ajouter apres toutes les autres, dans une nouvelle colonne.
 
C'est faisable comment ? J'ai regardé les 5 surcharges du column.add, mais cette methode ajoute une nouvelle colonne, et ne permet pas d'ajouter des données dans une colonne deja existante :/


---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
n°1425646
Vectteur
Hein ?
Posté le 15-08-2006 à 16:57:07  profilanswer
 

s'il n'y a pas de méthode satisfaisante c'est que tu n'aborde pas le probleme de la bonne facon
 
Boudha inside


---------------
ceci est un bloc de texte
mood
Publicité
Posté le 15-08-2006 à 16:57:07  profilanswer
 

n°1425825
ParadoX
Posté le 16-08-2006 à 09:21:12  profilanswer
 

Comment faire, alors ? :cry:  
 
Jréexplique
J'ai, avant de coder, fait un design rapide de l'interface. J'y ai dessiné un DataGridView (pas trouvé d'autre DataGrid), et j'y ai mis 5 colonnes, dont la 1ere est "Nom de fichier", et les 4 autres des attributs avec une checkbox par case. Je vais poster un screenshot plus tard.
 
Maintenant, j'aimerais remplir ce Datagrid deja fait avec une liste de fichier d'un répertoire donné, ou les fichiers seraient listés dans la colonne "Nom de Fichier"
 
Je ne sais pas si c'est plus clair ^^
Je n'ai introdui une DataTable que pour pouvoir alimenter la DataGrid, ne voyant pas de moyen plus direct d'afficher mes fichiers.


---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt
n°1425838
ParadoX
Posté le 16-08-2006 à 09:53:34  profilanswer
 

Probleme résolu:
 
Il suffisait d'un "DataGridView.Rows.Insert()
 
Merci :jap:  :jap:


---------------
Pier noir la mèr - La chanson par HFR Band - Topic TrueCrypt

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#.NET] Remplir un DataGrid a partir d'un répertoire, help please !

 

Sujets relatifs
[Résolu] [C#.Net] Passer un argument à partir d'une page Web[Help] Renommer une liste de fichier
[C#.NET] Remplir une listview de fichiers d'un repertoire[Résolu] [C#.Net] FileUpload ne marche avec certains types de fichiers
J'étais en première page de google, je n'y suis plus du tout... [Help](VB.Net)Formatage au moment de la frappe dans un DataGridView
comment créer une page a partir d'un lien ? 
Plus de sujets relatifs à : [C#.NET] Remplir un DataGrid a partir d'un répertoire, help please !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR