Forum: ASP.NET2.0 |
Thema:
AW: AW: AW: Ordner und Dateien sind nicht mehr alphabetisch sortiert |
Von:
Thomas Hauser (
11.04.2008 01:01) |
Hi,
die alten Methoden aus der Microsoft.VisualBasic sollte man eigentlich nicht mehr verwenden.
Für den Dateizugriff, die Abfrage von Verzeichnissen und Dateien etc. gibt es den Namensraum System.IO.
Die folgende Klasse soll uns als Datenquelle dienen:
public class FileListing
{
public List<FileInfo> GetFiles()
{
DirectoryInfo di = new DirectoryInfo("D:\\Users\\Public\\Pictures\\Sample Pictures");
List<FileInfo> files = new List<FileInfo>(di.GetFiles());
Comparison<FileInfo> nameCompare = new Comparison<FileInfo>(Compare);
files.Sort(nameCompare);
return files;
}
private int Compare(FileInfo fi1, FileInfo fi2)
{
return fi1.Name.CompareTo(fi2.Name);
}
}
Die Methode GetFiles gibt alle Informationen über die Dateien in dem angegebenen Verzeichis zurück. Sortiert wird die generische Liste mittels einem Delegate auf eine Vergleichfunktion, die dann anhand des Namens vergleicht, wenn die Sortierfunktion den Vergleich benötigt.
Nun verwenden wir auf der Seite die ObjectDataSource, um die Daten für bspw. einen Repeater verwenden zu können:
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetFiles" TypeName="FileListing"></asp:ObjectDataSource>
Im weiteren Schritt benötigen wir dann noch einen Repeater, der die Dateinamen in irgendeiner Form ausgibt:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li><asp:Literal ID="filename" runat="server" Text='<%# Bind("Name") %>' /></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
Probiers aus, funktioniert einwandfrei.
Grüße,
Thomas
Thomas Hauser (Trainer und Consultant, Blog: http://thomashauser.spaces.live.com, Forum: http://www.sharepointbook.de - Die Forum-Webseite zum Buch!)
Betreff |
Von |
Datum |
|
|
Thomas
Grupp
|
14.04.2008 11:37 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!