Asp.net中使用PageDataSource分頁實(shí)現(xiàn)代碼_.Net教程
推薦:asp.net中Word轉(zhuǎn)Html的辦法(不需要WORD組件)最近碰到一個(gè)需求,在文本編輯器中實(shí)現(xiàn)“Word導(dǎo)入”功能 發(fā)現(xiàn)了幾種方法,只是作為總結(jié)使用
注:封裝數(shù)據(jù)綁定控件(如 System.Web.UI.WebControls.DataGrid、System.Web.UI.WebControls.GridView、System.Web.UI.WebControls.DetailsView
// 和 System.Web.UI.WebControls.FormView)的與分頁相關(guān)的屬性,以允許該控件執(zhí)行分頁操作。無法繼承此類。
DataList
public DataTable GetDataSet(string sql)
{
SqlConnection conn = this.getconn();
SqlDataAdapter sdr = new SqlDataAdapter(sql, conn);
DataSet rs = new DataSet();
sdr.Fill(rs);
return rs.Tables[0];
}
public PagedDataSource PageDataListBind(string sql, int currentPage, int PageSize)
{
PagedDataSource pds = new PagedDataSource();
pds.DataSource = GetDataSet(sql).DefaultView;
pds.AllowPaging = true;
pds.PageSize = PageSize;
pds.CurrentPageIndex = currentPage - 1;
return pds;
}
DB db = new DB();
PagedDataSource pds = new PagedDataSource();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bind();
}
}
public void bind()
{
pds = db.PageDataListBind("select * from tb_word",Convert.ToInt32(lblCurrentPage.Text),2);
lnkBtnFirst.Enabled = true;
lnkBtnLast.Enabled = true;
lnkBtnPrevious.Enabled = true;
lnkBtnNext.Enabled = true;
if (lblCurrentPage.Text == "1")
{
lnkBtnFirst.Enabled = false;
lnkBtnPrevious.Enabled = false;
}
if(lblCurrentPage.Text==pds.PageCount.ToString())
{
lnkBtnLast.Enabled = false;
lnkBtnNext.Enabled = false;
}
lblSumPage.Text = pds.PageCount.ToString();
DataList1.DataSource = pds;
DataList1.DataKeyField = "ID";
DataList1.DataBind();
}
protected void lnkBtnFirst_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = "1";
bind();
}
protected void lnkBtnPrevious_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = (Convert.ToInt32(lblCurrentPage.Text) - 1).ToString();
bind();
}
protected void lnkBtnNext_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = (Convert.ToInt32(lblCurrentPage.Text) + 1).ToString();
bind();
}
protected void lnkBtnLast_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = lblSumPage.Text;
bind();
}
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table border="1">
<tr>
<td>ID</td><td>標(biāo)題</td><td>內(nèi)容</td>
</tr>
<tr>
<td><%#Eval("ID") %></td>
<td><%#Eval("Title") %></td>
<td><%#Eval("Content") %></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
當(dāng)前頁碼為[<asp:Label ID="lblCurrentPage" runat="server" Text="1"></asp:Label>]頁
總頁碼[<asp:Label
ID="lblSumPage" runat="server" Text="0"></asp:Label>]頁
<asp:LinkButton ID="lnkBtnFirst" runat="server" Font-Underline="False" OnClick="lnkBtnFirst_Click" > 第一頁 </asp:LinkButton>
<asp:LinkButton ID="lnkBtnPrevious" runat="server" Font-Underline="False" OnClick="lnkBtnPrevious_Click" > 上一頁 </asp:LinkButton>
<asp:LinkButton ID="lnkBtnNext" runat="server" Font-Underline="False" OnClick="lnkBtnNext_Click" > 下一頁 </asp:LinkButton>
<asp:LinkButton ID="lnkBtnLast" runat="server" Font-Underline="False" OnClick="lnkBtnLast_Click"> 末一頁 </asp:LinkButton>
</div>
</form>
分享:GridView自動(dòng)增加序號(hào)(三種實(shí)現(xiàn)方式)第一種方式,直接在Aspx頁面GridView模板列中.這種的缺點(diǎn)是到第二頁分頁時(shí)又重新開始了,第二種方式分頁時(shí)進(jìn)行了計(jì)算,這樣會(huì)累計(jì)向下加,點(diǎn)三種放在cs代碼中
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-Asp.net中使用PageDataSource分頁實(shí)現(xiàn)代碼
。