All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
delphi像“开始”菜单一样漂亮的菜单项实例
PHP和MYSQL制作动态网站开发经验之谈_php资料_编程技术
扩展GridView(三)——单击命令按钮弹出确认框_[Asp.Net教程]
如何把fla文件输出成和swf一样的gif文件_[Html教程]
开发ASP.NET,Atlas服务器端Extender控件—编写服务器端Extender,&,Dfl_[Asp.Net教程]
ASP.NET,2.0角色及成员管理_[Asp.Net教程]
使用ADO.net将数据导出到Excel并提供下载_[Asp.Net教程]
如何使用delphi调用外部EXE文件
asp.net2.0中Server对象的方法和属性
SQL Server 2000 中使用正则表达式_[SQL Server教程]
Reading number is top 10 pictures
NeedWallpaper1
So beauty, will let you spray blood7
China railway shunting skills competition
美女当网吧管理员的悲剧
Rendez-vous Sleep with actress, three days to earn 600000
a pure sister
China's programmers are live what kind, had a look at will know that
Absolutely shocked. National geographic 50 animal photographys9
去瑜伽会所面试的经过
西游四格漫画(一)
Download software ranking
Sora aoi's film--cangkong_Blue.Sky
塘西风月痕
Boxer's Top ten classic battle9
Detective task-the top secret prostitution files
Professional killers2 for Android
The Bermuda triangle2
中国结婚习俗实录
Ashlynn Video3
Desire a peach blossom
Prostitutes diary
归海一刀 published in(发表于) 2014/1/30 1:13:45 Edit(编辑)
自定义分页控件源码asp.net(c#)_[Asp.Net教程]

自定义分页控件源码asp.net(c#)_[Asp.Net教程]

自定义分页控件源码asp.net(c#)_[Asp.Net教程]

自定义分页控件源码asp.net(c#)


Pager.cs 服务器控件源代码


using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;


namespace C_Pager
{
public class Pager : Control, INamingContainer
{
[Description("操作员选择不同页时产生的页更新事件,通过此事件处理把旧页面显示信息更新到选择页对应的数据信息")]
public event EventHandler PageChanged;


private int rectotal = 0;
private int pagesize = 10;
private int curpage = 0;
private int lang = 0 ;
private int pagetotal = 0;


private string firstpagetext ="9";
private string prevpagetext = "3";
private string nextpagetext = "4";
private string lastpagetext = ":";


protected virtual void temp_Click(object sender, EventArgs e)
{
if (PageChanged != null)
{
PageChanged(this,e);
}
}


Pager控件使用帮助及参数说明#region Pager控件使用帮助及参数说明
/**//*
本控件带有三个自定义属性和一个方法.具体如下:
属性:
RecTotal 记录总数 默认值:0
PageSize 每页记录数 默认值:0
CurPage 当前页 默认值:0
Lang 版本语言 默认值:0 注:0为中文版,1为英文版
方法:
PagerBind 绑定当前自定义控件,如不绑定,该控件则不能显示到页面上
*/
#endregion


控件属性列表#region 控件属性列表


[Category("分页控制"),Description("数据集所有页记录总数")]
public int RecTotal
{
get { return rectotal; }
set { rectotal = value; }
}


[Category("分页控制"),Description("每页显示记录数量")]
public int PageSize
{
get { return pagesize; }
set { pagesize = value; }
}


[Category("分页控制"),Description("当前显示页")]
public int CurPage
{
get { return curpage; }
set { curpage = value; }
}


[Category("分页控制"),Description("数据集页总数")]
public int PageTotal
{
set { pagetotal = value; }
}


[Category("分页控制"),Description("翻页条显示语言别,0为中文,1为英文")]
public int Lang
{
get { return lang; }
set { lang = value; }
}


[Category("分页控制"),Description("首页按钮文本,例如可用:第一页")]
public string FirstPageText //
{
get { return firstpagetext; }
set { firstpagetext = value; }
}


[Category("分页控制"),Description("前页按钮文本,例如可用:上一页")]
public string PrevPageText
{
get { return prevpagetext; }
set { prevpagetext = value; }
}


[Category("分页控制"),Description("下页按钮文本,例如可用:下一页")]
public string NextPageText
{
get { return nextpagetext; }
set { nextpagetext = value; }
}


[Category("分页控制"),Description("尾页按钮文本,例如可用:最后页")]
public string LastPageText
{
get { return lastpagetext; }
set { lastpagetext = value; }
}


#endregion


protected override void CreateChildControls()
{
ViewState["FirstPageText"]= firstpagetext;
ViewState["PrevPageText"] = prevpagetext;
ViewState["NextPageText"] = nextpagetext;
ViewState["LastPageText"] = lastpagetext;

Label lbl_PageInfo = new Label(); //0
lbl_PageInfo.Text = "尚未绑定";
Controls.Add(lbl_PageInfo);

LinkButton btn_First = new LinkButton(); //1
btn_First.Text = ViewState["FirstPageText"].ToString();
Controls.Add(btn_First);
btn_First.Visible = false;
btn_First.Click += new System.EventHandler(btn_First_Click);


Controls.Add(new LiteralControl(" ")); //2


LinkButton btn_Pre = new LinkButton(); //3
btn_Pre.Text = ViewState["PrevPageText"].ToString();
Controls.Add(btn_Pre);
btn_Pre.Visible = false;
btn_Pre.Click += new System.EventHandler(btn_Pre_Click);


Controls.Add(new LiteralControl(" ")); //4


LinkButton btn_Next = new LinkButton(); //5
btn_Next.Text = ViewState["NextPageText"].ToString();
Controls.Add(btn_Next);
btn_Next.Visible = false;
btn_Next.Click += new System.EventHandler(btn_Next_Click);


Controls.Add(new LiteralControl(" ")); //6


LinkButton btn_Last = new LinkButton(); //7
btn_Last.Text = ViewState["LastPageText"].ToString();
Controls.Add(btn_Last);
btn_Last.Visible = false;
btn_Last.Click += new System.EventHandler(btn_Last_Click);

Controls.Add(new LiteralControl("  ")); //8


Label lbl_1 = new Label(); //9
lbl_1.Text = "转到";
lbl_1.Visible = false;
Controls.Add(lbl_1);


DropDownList drop_CurPage = new DropDownList(); //10
drop_CurPage.Items.Add("0");
Controls.Add(drop_CurPage);
drop_CurPage.AutoPostBack = true;
drop_CurPage.Visible = false;
drop_CurPage.SelectedIndexChanged += new System.EventHandler(drop_CurPage_SelectedIndexChanged);


Label lbl_2 = new Label(); //11
lbl_2.Text = "页";
lbl_2.Visible = false;
Controls.Add(lbl_2);
}


protected override void OnPreRender(EventArgs e)
{
if (!Page.IsPostBack)
{
StartVar();
PagerBind();
}
}


protected void StartVar() //初始各参数.希望只执行一次
{
ViewState["RecTotal"] = rectotal;
ViewState["PageSize"] = pagesize;
ViewState["CurPage"] = curpage;
ViewState["Lang"] = lang ;
ViewState["PageTotal"] = pagetotal;
}


相关方法及事件#region 相关方法及事件
public void PagerBind()
{
ViewState["PageTotal"]=((int)ViewState["RecTotal"]%(int)ViewState["PageSize"]>0) ? (int)ViewState["RecTotal"]/(int)ViewState["PageSize"]+1 : (int)ViewState["RecTotal"]/(int)ViewState["PageSize"]; //页总数
if ((int)ViewState["Lang"]==0)
{
((Label)Controls[0]).Text="共"+ViewState["RecTotal"].ToString()+"条信息 "+ViewState["PageSize"].ToString()+"条/页 当前"+((int)ViewState["CurPage"]+1).ToString()+"/"+ViewState["PageTotal"].ToString()+"页  ";
}
else
{
((Label)Controls[0]).Text="Total"+ViewState["RecTotal"].ToString()+"Info "+ViewState["PageSize"].ToString()+"/Page Current"+((int)ViewState["CurPage"]+1).ToString()+"/"+ViewState["PageTotal"].ToString()+"Page  ";
((Label)Controls[9]).Text = "To";
((Label)Controls[11]).Text = "Page";
}
((DropDownList)Controls[10]).Items.Clear();


int i=0;
do
{
((DropDownList)Controls[10]).Items.Add(Convert.ToString(i+1));
i++;
}
while (i<(int)ViewState["PageTotal"]);


((DropDownList)Controls[10]).SelectedIndex = ((DropDownList)Controls[10]).Items.IndexOf(((DropDownList)Controls[10]).Items.FindByValue(Convert.ToString((int)ViewState["CurPage"]+1)));




((LinkButton)Controls[1]).Visible = true;
((LinkButton)Controls[3]).Visible = true;
((LinkButton)Controls[5]).Visible = true;
((LinkButton)Controls[7]).Visible = true;
((Label)Controls[9]).Visible = true;
((Label)Controls[11]).Visible = true;
((DropDownList)Controls[10]).Visible = true;


((LinkButton)Controls[1]).Enabled = true;
((LinkButton)Controls[3]).Enabled = true;
((LinkButton)Controls[5]).Enabled = true;
((LinkButton)Controls[7]).Enabled = true;


if ((int)ViewState["CurPage"]==0)
{
((LinkButton)Controls[1]).Enabled = false;
((LinkButton)Controls[3]).Enabled = false;
((LinkButton)Controls[5]).Enabled = true;
((LinkButton)Controls[7]).Enabled = true;
}
if ((int)ViewState["CurPage"]==( (int)ViewState["PageTotal"]-1) )
{
((LinkButton)Controls[1]).Enabled = true;
((LinkButton)Controls[3]).Enabled = true;
((LinkButton)Controls[5]).Enabled = false;
((LinkButton)Controls[7]).Enabled = false;
}
if (( (int)ViewState["PageTotal"]-1) == 0 )
{
((LinkButton)Controls[1]).Enabled = false;
((LinkButton)Controls[3]).Enabled = false;
((LinkButton)Controls[5]).Enabled = false;
((LinkButton)Controls[7]).Enabled = false;
}


CurPage = (int)ViewState["CurPage"];
RecTotal = (int)ViewState["RecTotal"];
PageSize = (int)ViewState["PageSize"];
CurPage = (int)ViewState["CurPage"];
Lang = (int)ViewState["Lang"];
PageTotal = (int)ViewState["PageTotal"];
}



private void drop_CurPage_SelectedIndexChanged(object sender, System.EventArgs e)
{
ViewState["CurPage"] = ((DropDownList)Controls[10]).SelectedIndex;
PagerBind();


if (PageChanged != null)
temp_Click(this, EventArgs.Empty);
}


private void btn_First_Click(object sender, System.EventArgs e)
{
ViewState["CurPage"] = 0;
PagerBind();


if (PageChanged != null)
temp_Click(this, EventArgs.Empty);
}


private void btn_Pre_Click(object sender, System.EventArgs e)
{
ViewState["CurPage"] = (int)ViewState["CurPage"]-1;
PagerBind();


if (PageChanged != null)
temp_Click(this, EventArgs.Empty);
}


private void btn_Next_Click(object sender, System.EventArgs e)
{
ViewState["CurPage"] = (int)ViewState["CurPage"]+1;
PagerBind();


if (PageChanged != null)
temp_Click(this, EventArgs.Empty);
}


private void btn_Last_Click(object sender, System.EventArgs e)
{
ViewState["CurPage"] = (int)ViewState["PageTotal"]-1;
PagerBind();


if (PageChanged != null)
temp_Click(this, EventArgs.Empty);
}
#endregion
}
}



WebForm1.aspx 自定义分页控件测试页面


具体效果展示页面:http://www.365xinxi.net/shoplist.aspx


<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="MyWebControll.WebForm1" %>
<%@ Register TagPrefix="cc1" Namespace="C_Pager" Assembly="C_Pager" %>



WebForm1









Width="600px" Height="8px">




WebForm1.aspx.cs 测试页面源码



using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Data.OleDb;


namespace MyWebControll
{
/**////


/// WebForm1 的摘要说明。
///

public class WebForm1 : System.Web.UI.Page
{
protected C_Pager.Pager Pager1;
protected OleDbConnection conn;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected OleDbCommand cmd;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面


conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("DataBase\TestDataBase.mdb"));
if(!Page.IsPostBack)
{
DataBind(0);
}
}


Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/**////


/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///

private void InitializeComponent()
{
this.Pager1.PageChanged += new System.EventHandler(this.Change);//这是必须的
this.Load += new System.EventHandler(this.Page_Load);


}
#endregion


private void DataBind(int CurPage)  //数据绑定方法
{
cmd=new OleDbCommand("select * from news order by id desc ",conn);
OleDbDataAdapter adapter=new OleDbDataAdapter(cmd);
DataSet ds=new DataSet();
adapter.Fill(ds,Pager1.PageSize*CurPage,Pager1.PageSize,"news");


DataGrid1.DataSource=ds.Tables["news"];
DataGrid1.DataBind();


cmd=new OleDbCommand("select count(id) from news",conn);
conn.Open();
Pager1.RecTotal = (int)cmd.ExecuteScalar();
Pager1.DataBind();
conn.Close();
}


private void Change(object sender, System.EventArgs e)
{
DataBind(Pager1.CurPage); //得到当前页记录集绑定到DataGird表上
}


}
}

来源:csdn







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.