asp.net DataList控制元件分頁程式碼
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataList.aspx.cs" Inherits="TEST_DataList" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="score" runat="server" HeaderStyle-BackColor="#aaaadd" AlternatingItemStyle-BackColor="Gainsboro"
EditItemStyle-BackColor="yellow">
<HeaderTemplate>
<table width="100%" border="1">
<tr>
<td align="center">
使用者ID
</td>
<td align="center">
使用者名稱
</td>
<td align="center">
密 碼
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td align="center">
<%# DataBinder.Eval(Container.DataItem,"使用者ID") %>
</td>
<td align="center">
<%# DataBinder.Eval(Container.DataItem,"使用者名稱") %>
</td>
<td align="center">
<%# DataBinder.Eval(Container.DataItem,"密碼") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
<asp:LinkButton ID="lbnPrevPage" Text="上一頁" CommandName="prev" OnCommand="Page_OnClick"
runat="server" />
<asp:LinkButton ID="lbnNextPage" Text="下一頁" CommandName="next" OnCommand="Page_OnClick"
runat="server" />
共有<asp:Label ID="lblRecordCount" ForeColor="red" runat="server" />條記錄 當前為<asp:Label
ID="lblCurrentPage" ForeColor="red" runat="server" />/<asp:Label ID="lblPageCount"
ForeColor="red" runat="server" />頁
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
public partial class TEST_DataList : System.Web.UI.Page
{
//分頁相關引數
int PageSize, RecordCount, PageCount, CurrentPage;
SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=CSDN;Persist Security Info=True;User ID=sa;Password=sa;");
protected void Page_Load(object sender, EventArgs e)
{
//設定PageSize
PageSize = 10;
if (!IsPostBack)
{
ListBind();
CurrentPage = 0;
ViewState["PageIndex"] = 0;
//計算總共有多少記錄
RecordCount = CalculateRecord();
lblRecordCount.Text = RecordCount.ToString();
//計算總共有多少頁
PageCount = RecordCount / PageSize;
lblPageCount.Text = PageCount.ToString();
ViewState["PageCount"] = PageCount;
}
}
//計算總共有多少條記錄
public int CalculateRecord()
{
int intCount;
string strCount = "select count(*) as co from SYS_USERINF";
con.Open();
SqlCommand cmd = new SqlCommand(strCount, con);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
intCount = Int32.Parse(dr["co"].ToString());
}
else
{
intCount = 0;
}
dr.Close();
con.Close();
return intCount;
}
ICollection CreateSource()
{
int StartIndex;
//設定匯入的起終地址
StartIndex = CurrentPage * PageSize;
string strSel = "select * from SYS_USERINF";
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(strSel, con);
sda.Fill(ds, StartIndex, PageSize, "Score");
return ds.Tables["Score"].DefaultView;
}
public void ListBind()
{
score.DataSource = CreateSource();
score.DataBind();
lbnNextPage.Enabled = true;
lbnPrevPage.Enabled = true;
if (CurrentPage == (PageCount - 1)) lbnNextPage.Enabled = false;
if (CurrentPage == 0) lbnPrevPage.Enabled = false;
lblCurrentPage.Text = (CurrentPage + 1).ToString();
}
public void Page_OnClick(Object sender, CommandEventArgs e)
{
CurrentPage = (int)ViewState["PageIndex"];
PageCount = (int)ViewState["PageCount"];
string cmd = e.CommandName;
//判斷cmd,以判定翻頁方向
switch (cmd)
{
case "next":
if (CurrentPage < (PageCount - 1)) CurrentPage++;
break;
case "prev":
if (CurrentPage > 0) CurrentPage--;
break;
}
ViewState["PageIndex"] = CurrentPage;
ListBind();
}
}
樣式沒有應用好的css,比較難看,但是分頁功能就是如此實現的。上圖:
相關文章
- DataList控制元件也玩分頁-轉貼 (轉)控制元件
- 在repeater、datalist控制元件中使用分頁功能 (轉)控制元件
- asp.net自制分頁頁碼條控制元件ASP.NET控制元件
- 使用PagedDataSource類實現DataList和Repeater控制元件的分頁顯示 (轉)控制元件
- AspNetPager與DataList結合實現分頁
- asp.net利用儲存過程分頁程式碼ASP.NET儲存過程
- 【twfx118 】Asp.net分頁控制元件ASP.NET控制元件
- ASP.NET中Repeater控制元件實現分頁功能ASP.NET控制元件
- asp.net分頁控制元件AspNetPager的使用,使用傳統分頁和儲存過程分頁ASP.NET控制元件儲存過程
- Asp.Net分頁生成頁碼超連結方法ASP.NET
- .NET基礎之DataList控制元件控制元件
- 程式碼 ajax分頁
- php分頁程式碼PHP
- ASP.NET動態網站開發培訓-14.DataList控制元件(一)ASP.NET網站控制元件
- ASP.NET動態網站開發培訓-15.DataList控制元件(二)ASP.NET網站控制元件
- ASP.NET動態網站開發培訓-16.DataList控制元件(三)ASP.NET網站控制元件
- asp.net SQL Server 儲存過程分頁及程式碼呼叫ASP.NETSQLServer儲存過程
- Asp.Net 5分鐘實現網頁實時監控程式碼ASP.NET網頁
- asp.net mvc簡單實現基於Razor的分頁控制元件ASP.NETMVC控制元件
- 自定義分頁控制元件控制元件
- 靜態頁分頁功能js程式碼JS
- asp.net core mvc 分頁ASP.NETMVC
- php簡易分頁程式碼PHP
- dreamweaverMX通用分頁程式碼研究
- asp.net 在使用母版頁的子頁面cs後臺程式碼中控制母版頁中的登入控制元件顯示ASP.NET控制元件
- asp.net 簡單分頁列印ASP.NET
- CI框架內建分頁程式碼框架
- 簡單的Repeater分頁程式碼
- asp.net 內容頁訪問母版頁中的控制元件ASP.NET控制元件
- Flutter 分頁功能表格控制元件Flutter控制元件
- AspNetPager分頁控制元件的使用控制元件
- Repeater控制元件的分頁實現控制元件
- ASP.NET效能優化-頁面及控制元件ASP.NET優化控制元件
- asp.net mvc easyui datagrid分頁ASP.NETMVCUI
- oracle儲存過程分頁程式碼Oracle儲存過程
- asp.net中分頁控制元件AspNetPager美化樣式ASP.NET控制元件
- 分頁控制元件及儲存過程控制元件儲存過程
- 【birdshome 】ASP.NET控制元件開發之"程式碼緊湊原則"ASP.NET控制元件