Remplir un DataGrid a partir d'un répertoire, help please ! [C#.NET] - C#/.NET managed - Programmation
Marsh Posté le 15-08-2006 à 14:58:49
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>
Marsh Posté le 15-08-2006 à 14:59:39
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=
Marsh Posté le 15-08-2006 à 15:21:47
Merci, je vais tenter d'adapter le code ASP en C#
Marsh Posté le 15-08-2006 à 15:41:01
"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
Marsh Posté le 15-08-2006 à 15:49:51
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)
Marsh Posté le 15-08-2006 à 16:13:45
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
Marsh Posté le 15-08-2006 à 16:51:34
tu doit pouvoir faire un genre de
GetFiles().Column[X] pour trier ce que tu veux (.row[x] aussi )
Marsh Posté le 15-08-2006 à 16:55:00
Qqun m'a donné cette astuce:
Code :
|
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
Marsh Posté le 15-08-2006 à 16:57:07
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
Marsh Posté le 16-08-2006 à 09:21:12
Comment faire, alors ?
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.
Marsh Posté le 16-08-2006 à 09:53:34
Probleme résolu:
Il suffisait d'un "DataGridView.Rows.Insert()
Merci
Marsh Posté le 15-08-2006 à 13:52:53
Bonjour,
Je souhaite remplir un DataGrid avec une liste de fichiers obtenue avec
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