J'ai une page qui répertorie tous les fichiers dans un dossier particulier (tous les PDF), en utilisant une table de données et une grille.Trier datatable/Dataview/Gridview de fichiers basés sur le fichier Date de modification
Je suis actuellement trier cette table par le nom de fichier (en utilisant une vue de données), ce qui n'est pas utile, et je veux la grille de fichiers triés par le fichier créé ou date de modification du fichier (tel que enregistré dans Windows).
Si cela est impossible, une seconde option serait d'extraire la date de la chaîne de nom de fichier (pas de problème le faire), et trier les dataview/datatable ou gridview basé sur cette. Exemple Nom de fichier: DailySalesReport-1-15-2010. Mon seul blocage avec ceci est comment je trier sur la date, quand c'est une valeur de chaîne? Convertir à ce jour? Comment trier l'ensemble de données en fonction de cette valeur convertie?
Merci pour vos idées!
Protected Sub PageLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim dt As New DataTable()
dt.Columns.Add("Daily Reports", Type.[GetType]("System.String"))
For Each name As [String] In System.IO.Directory.GetFiles(Server.MapPath("~\reports\pdf\")) '"
dt.Rows.Add(New Object() {name})
Next
Dim dv As DataView = dt.DefaultView
dv.Sort = dt.Columns(0).ToString + " " + "desc"
dt = dv.ToTable
Me.gvDaily.DataSource = dt
Me.gvDaily.DataBind()
End If
End Sub
Protected Sub gvDaily_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim hl As New HyperLink()
hl.NavigateUrl = "~\reports\pdfs\" + e.Row.Cells(0).Text '"
hl.Text = "Daily Report"
e.Row.Cells(0).Text = ""
e.Row.Cells(0).Controls.Add(hl)
End If
End Sub
<asp:GridView ID="gvDaily" runat="server" Height="80px" Width = "180px" CssClass="tableText"
OnRowDataBound="gvDaily_RowDataBound">
<RowStyle HorizontalAlign="center" />
</asp:GridView>
Veuillez poster votre contrôle Gridview. Utilisez-vous des champs générés automatiquement? –
oui. ajoutée. Merci! – Albert