Per utilizzare sorting e paging nel mio dataview uso il codice sottostate.
ho però un problema : l'ordinamento avviene in senso alfabetico, così ceh sui numeri ho qualche problema, ad esempio ordina in questo modo:

999
88
566
34030

e non in questo come vorrei :

34030
999
566
88


l'ordinamento delle stringhe avviene invece senza problemi.
cosa devo modificare ? non riesco a venirne a capo. grazie



codice:
Private Property GridViewSortDirection() As String
        Get
            Return IIf(ViewState("SortDirection") = Nothing, "DESC", ViewState("SortDirection"))
        End Get
        Set(ByVal value As String)
            ViewState("SortDirection") = value
        End Set
    End Property

    Private Property GridViewSortExpression() As String
        Get
            Return IIf(ViewState("SortExpression") = Nothing, String.Empty, ViewState("SortExpression"))
        End Get
        Set(ByVal value As String)
            ViewState("SortExpression") = value
        End Set
    End Property

    Private Function GetSortDirection() As String
        Select Case GridViewSortDirection
            Case "ASC"
                GridViewSortDirection = "DESC"

            Case "DESC"
                GridViewSortDirection = "ASC"
        End Select

        Return GridViewSortDirection
    End Function

    Protected Sub gridViewPublishers_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
        DataG1.DataSource = SortDataTable(DataG1.DataSource, True)
        DataG1.PageIndex = e.NewPageIndex
        DataG1.DataBind()
    End Sub

    Protected Function SortDataTable(ByVal dataTable As DataTable, ByVal isPageIndexChanging As Boolean) As DataView
        If Not dataTable Is Nothing Then
            Dim dataView As New DataView(dataTable)
            If GridViewSortExpression <> String.Empty Then
                If isPageIndexChanging Then
                    dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection)
                Else
                    dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GetSortDirection())
                End If
            End If
            Return dataView
        Else
            Return New DataView()
        End If
    End Function

    Protected Sub gridViewPublishers_Sorting(ByVal sender As Object, ByVal e As GridViewSortEventArgs)
        GridViewSortExpression = e.SortExpression
        Dim pageIndex As Integer = DataG1.PageIndex
        DataG1.DataSource = SortDataTable(DataG1.DataSource, False)
        DataG1.DataBind()
        DataG1.PageIndex = pageIndex
    End Sub