他的此文章转至http://www.tobrush.com/archives/617301(隋心所欲)
我的來源:http://www.cnblogs.com/benon/archive/2008/03/20/1114606.html
感謝這位網友!!!!
原始檔:
<asp:DataList ID="DataList1" runat="server" RepeatColumns="3">
<ItemTemplate>
<img alt="" src='ImageHandler.ashx?Item_ID=<%# Eval("Item_ID") %>' style="height: 88px; width: 78px" />
</ItemTemplate>
</asp:DataList>
<asp:Label ID="Label1" runat="server"></asp:Label>
of
<asp:Label ID="Label2" runat="server"></asp:Label>
<asp:LinkButton ID="lkfirst" runat="server" OnCommand="IndexChanging" CommandArgument="first">Frist Page</asp:LinkButton>
<asp:linkbutton ID="lkPre" OnCommand="IndexChanging" CommandArgument="pre" runat="server" >Previous Page</asp:linkbutton>
<asp:linkbutton ID="lkNext" OnCommand="IndexChanging" CommandArgument="next" runat="server" >Next Page</asp:linkbutton>
<asp:linkbutton ID="lklast" OnCommand="IndexChanging" CommandArgument="last" runat="server" >Last Page</asp:linkbutton>
後端:
在跑程式前把宣告 PagedDataSource 這樣 在哪一類別都可以使用 就可以簡單的使用最後一頁功能
public static PagedDataSource pg = new PagedDataSource();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["pageindex"] = "0";
BindData();
}
}
private void BindData()
{
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=mydata;User Id=sa;Password=1234");
conn.Open();
SqlDataAdapter da = new SqlDataAdapter("Select Item_ID,Item_Name From Item_Detail", conn);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt != null && dt.Rows.Count > 0)
{
DataView dv = dt.DefaultView;
pg.DataSource = dv;
pg.AllowPaging = true;
pg.PageSize = 3;
pg.CurrentPageIndex = int.Parse(ViewState["pageindex"].ToString());
if (!pg.IsFirstPage)
{
lkPre.Enabled = true;
lkfirst.Enabled = true;
}
else
{
lkPre.Enabled = false;
lkfirst.Enabled = false;
}
if (!pg.IsLastPage)
{
lkNext.Enabled = true;
lklast.Enabled = true;
}
else
{
lkNext.Enabled = false;
lklast.Enabled = false;
}
int a = Convert.ToInt16(ViewState["pageindex"]);
a = a + 1;
Label1.Text = (a).ToString();
Label2.Text = (pg.PageCount).ToString();
DataList1.DataSource = pg;
DataList1.DataBind();
}
}
public void IndexChanging(object sender, EventArgs e)
{
string strcommand = ((LinkButton)sender).CommandArgument.ToString();
int pageindex = int.Parse(ViewState["pageindex"].ToString());
if (strcommand == "pre")
{
pageindex = pageindex - 1;
}
else if (strcommand == "next")
{
pageindex = pageindex + 1;
}
else if (strcommand == "first")
{
pageindex = 0;
}
else if (strcommand == "last")
{
pageindex = pg.PageCount - 1;
}
ViewState["pageindex"] = pageindex;
BindData();
}