1
<HTML>
2
<HEAD>
3
<title>DataGridSort.aspx</title>
4
<script runat="server">
5
6
void Page_Load(Object sender , EventArgs e)
7

{
8
if (! IsPostBack )
{
9
BindDataGrid( "Title" );
10
}
11
}
12
13
void BindDataGrid( string strSortField )
{
14
SqlConnection conPubs;
15
SqlCommand cmdSelect;
16
17
conPubs = new SqlConnection( @"Server=localhost;Integrated Security=SSPI;Database=Pubs" );
18
19
cmdSelect = new SqlCommand( "Select * From Titles Order By " + strSortField, conPubs );
20
conPubs.Open();
21
dgrdTitles.DataSource = cmdSelect.ExecuteReader();
22
dgrdTitles.DataBind();
23
conPubs.Close();
24
}
25
26
void dgrdTitles_SortCommand( object s, DataGridSortCommandEventArgs e )
{
27
BindDataGrid( e.SortExpression );
28
}
29
30
</script>
31
</HEAD>
32
<body>
33
<form Runat="Server">
34
<asp:DataGrid ID="dgrdTitles" AllowSorting="True" OnSortCommand="dgrdTitles_SortCommand" CellPadding="10"
35
Runat="Server" />
36
</form>
37
</body>
38
</HTML>

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

因为 dgrdTitles的AllowSorting="True",所有列的页眉都显示为超链列,通过点击超链列引发SortCommand,从而改变不同的绑定。