<%@ Page Language="VB" Debug="False" Strict="True" Explicit="True" Buffer="True"%>
 <%@ Import Namespace =Namespace="System" %>
 <%@ Import Namespace =Namespace="System.Data" %>
 <%@ Import Namespace =Namespace="System.Data.SqlClient" %>
<html>
<head>
<title>DataGrid Sort</title>
</head>
<body bgcolor="#FFFFFF" topmargin="0" marginheight="0">
<script language="VB" runat="server">
 Sub Page_Load()Sub Page_Load (sender As Object, e As EventArgs)
If SortExp.Text = "" then
BindSQL ("title asc")
Else
BindSQL (SortExp.Text)
End If
End Sub
 Sub BindSQL()Sub BindSQL (SortField As String)
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter
Dim DS as Dataset
Dim sqlStr As String = "SELECT authors.au_fname, authors.au_lname, titles.title, titles.price FROM authors, titleauthor, titles WHERE titleauthor.au_id = authors.au_id AND titleauthor.title_id = titles.title_id ORDER BY title asc"
Dim strConn As String = "server=(local);uid=sa;pwd=;database=pubs;Trusted_Connection=yes;"
Dim RcdCount As Integer
SortExp.Text = SortField
MyConnection = New SqlConnection(strConn)
MyCommand = New SqlDataAdapter(sqlStr, MyConnection)
DS = new Dataset()
MyCommand.Fill(DS, "pubs")
Dim Source As DataView = DS.Tables(0).DefaultView
Source.Sort = SortField
Pubs.DataSource = Source
Pubs.Databind()
End Sub
 Function SortOrder()Function SortOrder (Field As String) As String
Dim so As String = SortExp.Text
If Field = so Then
SortOrder = Replace (Field,"asc","desc")
Else
SortOrder = Replace (Field,"desc","asc")
End If
End Function
 Sub BookList_Sort()Sub BookList_Sort (Sender As Object, E As DataGridSortCommandEventArgs)
pubs.CurrentPageIndex = 0
BindSQL (SortOrder (E.SortExpression).ToString())
End Sub
 Sub BookList_PageChange()Sub BookList_PageChange (Source As Object, E As DataGridPageChangedEventArgs)
pubs.CurrentPageIndex = E.NewPageIndex
BindSQL(SortExp.Text)
End Sub
</script>
<form runat="server">
<ASP:Datagrid id="Pubs" runat="server"
Pagesize="10"
AllowSorting="True"
AllowPaging="True"
AllowCustomPaging="False"
PagerStyle-Visible = "True"
PagerStyle-Mode = "NumericPages"
HeaderStyle-BackColor="Blue"
HeaderStyle-ForeColor="White"
OnSortCommand="BookList_Sort"
OnPageIndexChanged="BookList_PageChange"
AutoGenerateColumns="false"
Width="500">
<Columns>
<asp:BoundColumn HeaderText="Title" SortExpression="title asc" DataField="title" Headerstyle-Horizontalalign="Center" ItemStyle-Wrap="false"/>
<asp:BoundColumn HeaderText="Last Name" SortExpression="au_lname asc" DataField="au_lname" Headerstyle-Horizontalalign="Center" ItemStyle-Wrap="false"/>
<asp:BoundColumn HeaderText="First Name" SortExpression="au_fname asc" DataField="au_fname" Headerstyle-Horizontalalign="Center" ItemStyle-Wrap="false"/>
<asp:BoundColumn HeaderText="Price" SortExpression="price asc" DataField="price" Headerstyle-Horizontalalign="Center" ItemStyle-Wrap="false"/>
</Columns>
</ASP:DataGrid>
<asp:Label id="SortExp" runat="server" Visible="true"/>
</form>
</body>
</html>
发表于
2005-04-11 16:36
菲一打
阅读( 318)
评论()
收藏
举报
|