您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页DataList控件分页完整版

DataList控件分页完整版

来源:化拓教育网


DataList控件的分页

不同于Gridview控件,Datalist控件没有自动分页支持。要支持分页功能,你必须添加代码,如下例所示:

int PageSize, RecordCount, PageCount, CurrentPage; SqlConnection MyConn; public int IndexOfPage {

get { return (int)ViewState[\"_IndexOfPage\"]; } set { ViewState[\"_IndexOfPage \"] = value; } }

public int CountOfPage {

get { return (int)ViewState[\"_CountOfPage\"]; } set { ViewState[\"_CountOfPage\"] = value; } }

public void Page_Load(Object src, EventArgs e) {

PageSize = 3;

string MyConnString =

@\"Server=(local)\\SQLEXPRESS;Integrated

Security=SSPI;Database=test;Persist Security Info=True\"; MyConn = new SqlConnection(MyConnString); MyConn.Open(); if (!Page.IsPostBack) {

ListBind(); CurrentPage = 0; IndexOfPage = 0;

RecordCount = CalculateRecord();

lblRecordCount.Text = RecordCount.ToString(); PageCount = RecordCount / PageSize; If((Record%PageSize)==0) {

PageCount=RecordCount/PageSize;

}

Else if((Record%PageSize)!=0) {

PageCount=RecordCount/PageSize+1;

}

lblPageCount.Text = PageCount.ToString(); CountOfPage = PageCount; } }

public int CalculateRecord() {

int intCount;

string strCount = \"select count(*) as co from student\";

SqlCommand MyComm = new SqlCommand(strCount, MyConn); SqlDataReader dr = MyComm.ExecuteReader(); if (dr.Read()) {

intCount = Int32.Parse(dr[\"co\"].ToString()); } else {

intCount = 0; }

dr.Close(); return intCount; }

ICollection CreateSource() {

int StartIndex;

StartIndex = CurrentPage * PageSize; string strSel = \"select * from student\"; DataSet ds = new DataSet();

SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel, MyConn); MyAdapter.Fill(ds, StartIndex, PageSize, \"Score\"); return ds.Tables[\"Score\"].DefaultView; }

public void ListBind() {

DataList1.DataSource = CreateSource(); DataList1.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)IndexOfPage; PageCount = (int)CountOfPage; string cmd = e.CommandName; switch (cmd) {

case \"next\":

if (CurrentPage < (PageCount - 1)) CurrentPage++; break; case \"prev\":

if (CurrentPage > 0) CurrentPage--; break; }

IndexPage = CurrentPage; ListBind(); } 前台代码

上一页

下一页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务