1
using System;
2
using System.Collections;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Web;
7
using System.Web.SessionState;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.HtmlControls;
11
using System.Data.SqlClient;
12
using System.Configuration;
13
namespace CommonFunction
14
{
15
/// <summary>
16
/// PagerState 的摘要说明。
17
/// </summary>
18
public class PagerState : System.Web.UI.Page
19
{
20
protected System.Web.UI.WebControls.DataGrid dgPagerState;
21
22
private void Page_Load(object sender, System.EventArgs e)
23
{
24
if(!IsPostBack)
25
{
26
//设置排序表达式
27
ViewState["SortOrder"] = "LastName";
28
//设置排序的升降序
29
ViewState["OrderDire"] = "ASC";
30
//数据绑定
31
DataGridDataBind();
32
}
33
}
34
35
private void DataGridDataBind()
36
{
37
//定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
38
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
39
//创建数据适配器对象
40
SqlDataAdapter da = new SqlDataAdapter("select LastName,FirstName,Title,TitleOfCourtesy,BirthDate,City from Employees",conn);
41
//创建DataSet对象
42
DataSet ds = new DataSet();
43
try
44
{
45
//填充数据集
46
da.Fill(ds,"testTable");
47
//取得填充表格的默认视图
48
DataView view = ds.Tables["testTable"].DefaultView;
49
//设置排序关键字
50
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
51
//设置排序表达式
52
view.Sort = sort;
53
//数据邦定
54
dgPagerState.DataSource = view;
55
dgPagerState.DataBind();
56
}
57
catch(Exception error)
58
{
59
Response.Write(error.ToString());
60
}
61
}
62
63
Web 窗体设计器生成的代码
85
86
private void dgPagerState_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
87
{
88
//设置DataGrid的当前显示页的索引值为选择的页面索引值
89
dgPagerState.CurrentPageIndex = e.NewPageIndex;
90
DataGridDataBind();
91
}
92
93
private void dgPagerState_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
94
{
95
//取得排序表达式
96
string vortExp = e.SortExpression;
97
//如果是当前排序表达式
98
if(ViewState["SortOrder"].ToString() == vortExp)
99
{
100
//如果原来是降序则改为升序,反之亦然
101
if((string)ViewState["OrderDire"] == "Desc")
102
ViewState["OrderDire"] = "ASC";
103
else
104
ViewState["OrderDire"] = "Desc";
105
}
106
else
107
{
108
//重新设置排序关键字
109
ViewState["SortOrder"] = e.SortExpression;
110
}
111
DataGridDataBind();
112
}
113
}
114
}
115
116
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
浙公网安备 33010602011771号