1.最後的實現圖
頁面代碼 OnLineList.ascx
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="OnLineList.ascx.vb" Inherits="OnLineList" %>
<table align="center" style="height: 469px" cellpadding="0" cellspacing="0" width="10%">
<tr style="width: 132px; height: 21px; color: #ffccff;" bgcolor="#fff0f5">
<td style="height: 21px" width="18%" >
<asp:Label ID="Label1" runat="server" ForeColor="Black" Text="Label" Width="132px"></asp:Label></td>
<td style="width: 9%; height: 21px"><asp:Label ID="Label2" runat="server" ForeColor="Black" Text="Label" Width="69px"></asp:Label></td>
<td style="height: 21px;" width="20%">
<asp:Label ID="Label3" runat="server" ForeColor="Black" Text="Label" Width="122px"></asp:Label></td>
<td style="height: 21px">
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True">
<asp:ListItem Value="null">=請選擇排序方式=</asp:ListItem>
<asp:ListItem Value="NickName Desc"> 按暱稱降序排列</asp:ListItem>
<asp:ListItem Value="NickName Asc"> 按暱稱升序排列</asp:ListItem>
<asp:ListItem Value="DateAdded Desc"> 按註冊日期升序排列</asp:ListItem>
<asp:ListItem Value="DateAdded Asc"> 按註冊日期降序排列</asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td style="width: 132px; height: 228px" valign="top" colspan = 4>
<asp:DataGrid ID="DataGrid1" runat="server" AutoGenerateColumns="False" Height="40px" ShowFooter="True" Width="749px" CellPadding="0" AllowPaging="True" AllowSorting="True" OnPageIndexChanged="DataGrid1_PageIndexChanged">
<Columns>
<asp:TemplateColumn>
<HeaderTemplate><b><center>暱稱</center></b></HeaderTemplate>
<ItemTemplate><center><a href ="Detail?ID=<%# Encrypt(Eval("ID")) %>"><%#Eval("NickName")%></a></center></ItemTemplate>
<HeaderStyle Width="50px" />
<FooterTemplate><b><center>暱稱</center></b></FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate><b><center>性別</center></b></HeaderTemplate>
<ItemTemplate><center>
<img src="<%# ReturnPicture(Eval("Sex"))%>" /></center>
</ItemTemplate>
<HeaderStyle Width="50px" />
<FooterTemplate><b><center>性別</center></b></FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate><b><center>年齡</center></b></HeaderTemplate>
<ItemTemplate><center><%#ReturnAge(Eval("DateOfBirth"))%>歲</center>
</ItemTemplate>
<FooterTemplate><b><center>年齡</center></b></FooterTemplate>
<HeaderStyle Width="80px" />
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate><b><center>學歷</center></b></HeaderTemplate>
<ItemTemplate><center><%#Eval("Education")%></center></ItemTemplate>
<FooterTemplate><b><center>學歷</center></b></FooterTemplate>
<HeaderStyle Width="80px" />
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate><b><center>星座</center></b></HeaderTemplate>
<ItemTemplate><center><%#Eval("constellation")%></center></ItemTemplate>
<FooterTemplate><b><center>星座</center></b></FooterTemplate>
<HeaderStyle Width="80px" />
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate><b><center>職業</center></b></HeaderTemplate>
<ItemTemplate><center><%# Eval("Occupation") %></center></ItemTemplate>
<FooterTemplate><b><center>職業</center></b></FooterTemplate>
<HeaderStyle Width="100px" />
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate><b><center>地點</center></b></HeaderTemplate>
<ItemTemplate><center><%#Eval("WorkStation")%><%#Eval("WorkStations")%></center></ItemTemplate>
<FooterTemplate><b><center>地點</center></b></FooterTemplate>
<HeaderStyle Width="100px" />
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate><b><center>加入收藏</center></b></HeaderTemplate>
<ItemTemplate><center>加入收藏</center></ItemTemplate>
<FooterTemplate><b><center>加入收藏</center></b></FooterTemplate>
<HeaderStyle Width="100px" />
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate><b><center>寫信</center></b></HeaderTemplate>
<ItemTemplate><center></ceng><img src="picture/message.gif" /></center></ItemTemplate>
<FooterTemplate><b><center>寫信</center></b></FooterTemplate>
</asp:TemplateColumn>
</Columns>
<AlternatingItemStyle BackColor ="MintCream" Height = 30px ForeColor="Blue" />
<ItemStyle BackColor="PapayaWhip" Height = 30px ForeColor="Blue" />
<HeaderStyle Height = 30px BackColor="#CC99FF" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" ForeColor="#CC0033" />
<FooterStyle Height = 30px BackColor="#CC99FF" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" ForeColor="#C00000" />
<PagerStyle Mode="NumericPages" Position="TopAndBottom" BackColor="LavenderBlush" HorizontalAlign="Center" />
<EditItemStyle ForeColor="Blue" />
</asp:DataGrid>
</td>
</tr>
<tr>
<td style="width: 132px; height: 134px;" valign="top" colspan = 4>
</tr>
</table>
後臺代碼OnLineList.ascx.vb
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Data
Imports System.Data.SqlClient
Imports Adsystech
Partial Class OnLineList
Inherits System.Web.UI.UserControl
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
If Not IsPostBack Then
DataListBind()
End If
End Sub
Private Sub DataListBind()
Dim RecordCount As Integer = 0
Dim CurrentPage As Integer = 0
Dim ds As DataSet = New DataSet()
Dim sqlstr As String = "Select ID,NickName,Sex,DateOfBirth,Education,Occupation,WorkStation,WorkStations,constellation from Customer "
ds = DataAccess.ExecuteDataset(DataAccess.ProviderType.SQL, Connstring, CommandType.Text, sqlstr, "Friends")
Me.DataGrid1.DataSource = ds.Tables("Friends").DefaultView
Me.DataGrid1.DataBind()
RecordCount = ds.Tables("Friends").Rows.Count
CurrentPage = Me.DataGrid1.CurrentPageIndex + 1
Me.Label1.Text = "當前在線用戶共有" & RecordCount.ToString() & "人,"
Me.Label2.Text = "共分爲" & Me.DataGrid1.PageCount & "頁,"
Me.Label3.Text = "當前頁爲第" & CurrentPage & "頁"
End Sub
Public Function ReturnPicture(ByVal Sex As String) As String
Dim URl As String = ""
If (Sex = "男") Then
URl = "picture/boy.gif"
Return URl
Else
URl = "picture/girl.gif"
Return URl
End If
End Function
Public Function ReturnAge(ByVal Birthday As DateTime) As Integer
Dim age As Integer = 0
age = Year(DateTime.Now) - Year(Birthday)
Return age
End Function
Protected Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
Dim param = DropDownList1.SelectedValue
If (param = "null") Then
Me.DataGrid1.CurrentPageIndex = e.NewPageIndex
DataListBind()
Else
Me.DataGrid1.CurrentPageIndex = e.NewPageIndex
DataListBind(param)
End If
End Sub
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Dim param1 = DropDownList1.SelectedIndex
If (param1 = 0) Then
Me.DataGrid1.CurrentPageIndex = 0
DataListBind()
Else
Me.DataGrid1.CurrentPageIndex = 0
Dim param = DropDownList1.SelectedValue
DataListBind(param)
End If
End Sub
Private Sub DataListBind(ByVal param As String)
Dim ds1 As DataSet = New DataSet()
Dim sqlstr As String = "Select ID,NickName,Sex,DateAdded,DateOfBirth,Education,Occupation,WorkStation,WorkStations,constellation from Customer order by " & param & ""
ds1 = DataAccess.ExecuteDataset(DataAccess.ProviderType.SQL, Connstring, CommandType.Text, sqlstr, "OnlineFriend")
Me.DataGrid1.DataSource = ds1.Tables("OnlineFriend").DefaultView
Me.DataGrid1.DataBind()
Dim CurrentPage As Integer = 0
CurrentPage = Me.DataGrid1.CurrentPageIndex + 1
Me.Label3.Text = "當前頁爲第" & CurrentPage & "頁"
End Sub
End Class