У меня есть страница, в которой перечислены все файлы в определенной папке (все файлы PDF) с использованием таблицы данных и gridview.Сортировка Datatable/Dataview/Gridview файлов на основе измененного файла Дата
Я сейчас сортирую эту таблицу по имени файла (с помощью dataview), что не так полезно, и Я хочу, чтобы gridview файлов отсортирован по файлу, созданному или измененному датой файла (как записано в Windows).
Если это не возможно, второй вариант был бы извлечь дату из строки имени файла (без проблем делать это), и отсортировать DataView/DataTable или GridView на основе этой. Пример Имя файла: DailySalesReport-1-15-2010. Мое единственное зависание с этим - как я сортирую по дате, когда это строковое значение? Преобразовать на сегодняшний день? Как мне отсортировать весь набор данных на основе этого преобразованного значения?
Спасибо за любые идеи!
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>
Пожалуйста, отправьте вам управление Gridview. Используете ли вы поля Auto Generated? –
да. добавлено. благодаря! – Albert