In this article, the pages of the DataList control are written in the PageDataSource class.
Front-end:
<Asp: DataList ID = "DL_Message" runat = "server" Width = "560px" OnItemDataBound = "DL_Message_ItemDataBound" OnItemCommand = "DL_Message_ItemCommand">
<HeaderTemplate>
<Hr/>
</HeaderTemplate>
<ItemTemplate>
<Table style = "width: 536px">
<Tr>
<Td align = "left">
Topic: <% # DataBinder. Eval (Container. DataItem, "msg_theme") %> </td>
</Tr>
<Tr>
<Td align = "center">
<% # DataBinder. Eval (Container. DataItem, "msg_content") %>
</Td>
</Tr>
<Tr>
<Td align = "center">
<% # DataBinder. Eval (Container. DataItem, "msg_content") %>
</Td>
</Tr>
<Tr>
<Td align = "right" style = "height: 16px"> contact: <% # DataBinder. Eval (Container. DataItem, "msg_name") %>
</Td>
</Tr>
<Tr>
<Td align = "right">
Message time: <% # DataBinder. Eval (Container. DataItem, "AddDate") %>
</Td>
</Tr>
</Table>
<Hr/>
</ItemTemplate>
<FooterTemplate>
<Table style = "width: 536px;">
<Tr> <td style = "text-align: left; height: 36px;"> <asp: ImageButton ID = "pro" runat = "server" ImageUrl = "~ /Images/s3.gif "CommandName =" pro "/> & nbsp; <asp: ImageButton ID =" next "ImageUrl = "~ /Images/s4.gif "runat =" server "CommandName =" next "/>
& Nbsp; Total <asp: Label ID = "count" runat = "server" Width = "15px"> </asp: Label> page & nbsp; page <asp: Label ID = "num" runat = "server" Width = "34px"> </asp: Label>
& Nbsp;
</Td> </tr>
</Table>
</FooterTemplate>
</Asp: DataList>
Background:
Using System;
Using System. Data;
Using System. Configuration;
Using System. Web;
Using System. Web. Security;
Using System. Web. UI;
Using System. Web. UI. WebControls;
Using System. Web. UI. WebControls. WebParts;
Using System. Web. UI. HtmlControls;
Using System. Data. SqlClient;
Protected static PagedDataSource Pds;
Class DataList page
{
Protected void Page_Load (object sender, EventArgs e)
{
If (! Page. IsPostBack)
{
FillData ();
}
}
Static PagedDataSource PPS;
Protected void bindborder ()
{
String selectstr = "select * from Messages ";
DataSet ds = DB. getDataset (selectstr );
Pds = new PagedDataSource ();
Pds. DataSource = ds. Tables [0]. DefaultView;
PPS. AllowPaging = true;
PPS. PageSize = 3;
This. DL_Message.DataSource = Pds;
This. DL_Message.DataBind ();
}
Protected void DL_Message_ItemDataBound (object sender, DataListItemEventArgs e)
{
If (e. Item. ItemType = ListItemType. Footer)
{
Label lbl = new Label ();
Lbl = (Label) e. Item. FindControl ("count ");
Int a = PPS. Count;
Lbl. Text = maid. PageCount. ToString ();
Lbl = (Label) e. Item. FindControl ("num ");
Lbl. Text = Convert. ToString (PPS. CurrentPageIndex + 1 );
}
}
Protected void DL_Message_ItemCommand (object source, DataListCommandEventArgs e)
{
// Previous Page
If (e. CommandName = "pro ")
{
If (PPS. CurrentPageIndex> 0)
{
PPS. CurrentPageIndex --;
}
Else
{
Return;
}
This. DL_Message.DataSource = Pds;
This. DL_Message.DataBind ();
}
Else if (e. CommandName = "next ")
{
If (maid. CurrentPageIndex <Pam. PageCount-1)
{
Pds. CurrentPageIndex ++;
}
Else
{
Return;
}
This. DL_Message.DataSource = Pds;
This. DL_Message.DataBind ();
}
}
}