Ciao,
ho realizzato una GridView contente dati prelevati da un DB MySql.
Per ogni colonna ho abilitato l'ordinamento.
A mio malgrado ho settato nel db il formato della data come Varchar, quindi quando clicco su ordina, mi ordina solo in base al giorno (poichè considera la stringa numerica).
Poiché risulta al quanto oneroso cambiare il formato varchar in date, per svariate ragioni, come posso far prendere alla gridView il campo come data anziché stringa?
Questo il mio codice:
codice:
Protected Sub GridView1_Sorting(sender As Object, e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles GridView1.Sorting
Dim sortExpression As String = e.SortExpression
Dim direction As String = String.Empty
If SortDirection = SortDirection.Ascending Then
SortDirection = SortDirection.Descending
direction = " DESC"
Else
SortDirection = SortDirection.Ascending
direction = " ASC"
End If
Dim table As DataTable = GridView1.DataSource
table.DefaultView.Sort = sortExpression & direction
GridView1.DataSource = table
GridView1.DataBind()
End Sub
Public Property SortDirection() As SortDirection
Get
If ViewState("SortDirection") Is Nothing Then
ViewState("SortDirection") = SortDirection.Ascending
End If
Return DirectCast(ViewState("SortDirection"), SortDirection)
End Get
Set(ByVal value As SortDirection)
ViewState("SortDirection") = value
End Set
End Property
grazie