gridview 翻页后保持排序
1
Protected Sub gvdatalist_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles gvdatalist.Sorting
2
3
GridViewSortExpression = e.SortExpression
4
5
Dim pageIndex As Integer = gvdatalist.PageIndex
6
gvdatalist.DataSource = SortDataTable(dt, False)
7
gvdatalist.DataBind()
8
gvdatalist.PageIndex = pageIndex
9
10
End Sub
11
12
Private Property GridViewSortDirection() As String
13
Get
14
Return ViewState("SortDirection")
15
End Get
16
Set(ByVal Value As String)
17
ViewState("SortDirection") = value
18
End Set
19
End Property
20
21
22
23
Private Property GridViewSortExpression() As String
24
Get
25
Return ViewState("SortExpression")
26
End Get
27
Set(ByVal Value As String)
28
ViewState("SortExpression") = value
29
End Set
30
End Property
31
32
33
34
Private Function GetSortDirection() As String
35
36
Select Case GridViewSortDirection
37
38
Case "ASC"
39
GridViewSortDirection = "DESC"
40
41
'Exit Function
42
43
Case "DESC"
44
45
GridViewSortDirection = "ASC"
46
47
' Exit Function
48
Case Else
49
GridViewSortDirection = "ASC"
50
51
End Select
52
Return GridViewSortDirection
53
54
End Function
55
56
57
58
59
Protected Function SortDataTable(ByVal dataTable As DataTable, ByVal isPageIndexChanging As Boolean) As DataView
60
61
If Not dataTable Is Nothing Then
62
63
Dim dataView As DataView = New DataView(dataTable)
64
65
If GridViewSortExpression <> String.Empty Then
66
67
If isPageIndexChanging Then
68
69
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection)
70
71
Else
72
73
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GetSortDirection())
74
75
End If
76
77
End If
78
79
Return dataView
80
81
Else
82
83
Return New DataView()
84
85
End If
86
87
End Function
88
89
Protected Sub gvdatalist_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvdatalist.PageIndexChanging
90
Me.gvdatalist.PageIndex = e.NewPageIndex
91
Me.gvdatalist.DataSource = SortDataTable(dt, True)
92
Me.gvdatalist.DataBind()
93
Me.drto.SelectedValue = e.NewPageIndex + 1
94
End Sub
Protected Sub gvdatalist_Sorting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSortEventArgs) Handles gvdatalist.Sorting2

3
GridViewSortExpression = e.SortExpression4

5
Dim pageIndex As Integer = gvdatalist.PageIndex6
gvdatalist.DataSource = SortDataTable(dt, False)7
gvdatalist.DataBind()8
gvdatalist.PageIndex = pageIndex9

10
End Sub11

12
Private Property GridViewSortDirection() As String13
Get14
Return ViewState("SortDirection")15
End Get16
Set(ByVal Value As String)17
ViewState("SortDirection") = value18
End Set19
End Property20

21

22

23
Private Property GridViewSortExpression() As String24
Get25
Return ViewState("SortExpression")26
End Get27
Set(ByVal Value As String)28
ViewState("SortExpression") = value29
End Set30
End Property31

32

33

34
Private Function GetSortDirection() As String35

36
Select Case GridViewSortDirection37

38
Case "ASC"39
GridViewSortDirection = "DESC"40

41
'Exit Function42

43
Case "DESC"44

45
GridViewSortDirection = "ASC"46

47
' Exit Function48
Case Else49
GridViewSortDirection = "ASC"50

51
End Select52
Return GridViewSortDirection53

54
End Function55

56

57

58

59
Protected Function SortDataTable(ByVal dataTable As DataTable, ByVal isPageIndexChanging As Boolean) As DataView60

61
If Not dataTable Is Nothing Then62

63
Dim dataView As DataView = New DataView(dataTable)64

65
If GridViewSortExpression <> String.Empty Then66

67
If isPageIndexChanging Then68

69
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GridViewSortDirection)70

71
Else72

73
dataView.Sort = String.Format("{0} {1}", GridViewSortExpression, GetSortDirection())74

75
End If76

77
End If78

79
Return dataView80

81
Else82

83
Return New DataView()84

85
End If86

87
End Function88

89
Protected Sub gvdatalist_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvdatalist.PageIndexChanging90
Me.gvdatalist.PageIndex = e.NewPageIndex91
Me.gvdatalist.DataSource = SortDataTable(dt, True)92
Me.gvdatalist.DataBind()93
Me.drto.SelectedValue = e.NewPageIndex + 194
End Sub
我的淘宝店:http://hamby.taobao.com


浙公网安备 33010602011771号