复合控件分页控件参考代码
来源:互联网 发布:excel表格数据透视图 编辑:程序博客网 时间:2024/06/06 06:48
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AspNetPageControl
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:AspNetPage runat=server></{0}:AspNetPage>")]
public class AspNetPage :CompositeControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? String.Empty : s);
}
set
{
ViewState["Text"] = value;
}
}
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("5")]
[Localizable(true)]
public int? PageSize
{
get
{
int? s = (int?)ViewState["PageSize"];
return ((s == null) ? 15 : s);
}
set
{
ViewState["PageSize"] = value;
}
}
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("10")]
[Localizable(true)]
public int? PageCount
{
get
{
int? s = (int?)ViewState["PageCount"];
return ((s == null) ? 0 : s);
}
set
{
ViewState["PageCount"] = value;
}
}
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("0")]
[Localizable(true)]
public int? CurrentPageIndex
{
get
{
int? s = (int?)ViewState["CurrentPageIndex"];
return ((s == null) ? 0 : s);
}
set
{
ViewState["CurrentPageIndex"] = value;
}
}
LinkButton FrontPage;
LinkButton PrePage;
LinkButton NextPage;
LinkButton LastPage;
protected override void RecreateChildControls()
{
if (this.ChildControlsCreated == false)
base.RecreateChildControls();
}
protected override void CreateChildControls()
{
this.Controls.Clear();
FrontPage = new LinkButton();
FrontPage.ID = "FrontPage";
FrontPage.Text = "首页";
PrePage = new LinkButton();
PrePage.ID = "PrePage";
PrePage.Text = "上一页";
NextPage = new LinkButton();
NextPage.ID = "NextPage";
NextPage.Text = "下一页";
LastPage = new LinkButton();
LastPage.ID = "LastPage";
LastPage.Text = "尾页";
this.Controls.Add(FrontPage);
this.Controls.Add(PrePage);
this.Controls.Add(NextPage);
this.Controls.Add(LastPage);
this.ChildControlsCreated = true;
}
public delegate void AspNetPageEventHandler(object sender, AspNetPageEventArgs e);
[Category("Action"),Description("翻页事件")]
private new static readonly object EventPageIndexChanged = new object();
public event AspNetPageEventHandler PageIndexChanged
{
add { base.Events.AddHandler(AspNetPage.EventPageIndexChanged, value); }
remove { base.Events.RemoveHandler(AspNetPage.EventPageIndexChanged,value); }
}
public void OnPageIndexChanged(AspNetPageEventArgs e)
{
AspNetPageEventHandler handler = (AspNetPageEventHandler)base.Events[EventPageIndexChanged];
if(handler!=null)
{
handler(this,e);
}
}
{
bool handler = false;
LinkButton lbtn = (LinkButton)source;
AspNetPageEventArgs e = new AspNetPageEventArgs();
if (lbtn.ID == "FrontPage")
{
if (this.CurrentPageIndex != 0)
{
this.CurrentPageIndex = 0;
e.CurrentPageIndex = this.CurrentPageIndex;
e.PageCount = this.PageCount;
OnPageIndexChanged(e);
}
handler = true;
}
if (lbtn.ID == "PrePage")
{
if (this.CurrentPageIndex != 0)
{
this.CurrentPageIndex = this.CurrentPageIndex - 1;
e.CurrentPageIndex = this.CurrentPageIndex;
e.PageCount = this.PageCount;
e.PageSize = this.PageSize;
OnPageIndexChanged(e);
}
handler=true;
}
if (lbtn.ID == "NextPage")
{
if (this.CurrentPageIndex != this.PageSize - 1)
{
this.CurrentPageIndex = this.CurrentPageIndex + 1;
e.CurrentPageIndex = this.CurrentPageIndex;
e.PageCount = this.PageCount;
e.PageSize = this.PageSize;
OnPageIndexChanged(e);
}
handler = true;
}
if (lbtn.ID == "LastPage")
{
if (this.CurrentPageIndex != this.PageSize - 1)
{
this.CurrentPageIndex = this.PageSize - 1;
e.CurrentPageIndex = this.CurrentPageIndex;
e.PageCount = this.PageCount;
e.PageSize = this.PageSize;
OnPageIndexChanged(e);
}
handler=true;
}
return handler || base.OnBubbleEvent(source, args);
}
protected override void RenderContents(HtmlTextWriter output)
{
output.Write("<table>");
output.Write("<tr>");
output.Write("<td>");
FrontPage.RenderControl(output);
output.Write("</td>");
output.Write("<td>");
PrePage.RenderControl(output);
output.Write("</td>");
output.Write("<td>");
NextPage.RenderControl(output);
output.Write("</td>");
output.Write("<td>");
LastPage.RenderControl(output);
output.Write("</td>");
output.Write("</tr>");
output.Write("</table>");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace AspNetPageControl
{
public class AspNetPageEventArgs:System.EventArgs
{
public AspNetPageEventArgs()
{
}
public int? PageSize { get; set; }
public int? CurrentPageIndex { get; set; }
public int? PageCount { get; set; }
}
}
- 复合控件分页控件参考代码
- 复合分页控件
- 复合控件
- Delphi控件-复合控件
- DataList控件的分页代码
- 分页控件的详细代码
- Repeater控件实现分页代码
- jquery 分页控件实现代码
- 自定义控件 创建复合控件
- 复合控件制作示例
- 复合控件的开发
- 复合控件------关键概念
- 复合控件的开发
- 复合控件错误记录
- 复合控件的开发
- android 自定义复合控件
- android自定义复合控件
- ATL复合控件 实例
- JPEG 最新标准源码工作原理
- STM32之bootloader
- Qt Quick 之 QML 与 C++ 混合编程详解
- cocos2d-x 3.0rc0 - bindings-generator 问题与解决
- jCIFS非法用户名验证绕过漏洞
- 复合控件分页控件参考代码
- [互联/数码] 新站长怎么推广网站 新站推广方法 推广新站的三种方法
- 「GUETOJ」P1042 孤独的桂电人
- SO_REUSEADDR的作用
- java数组学习
- Unique Paths II
- 66_leetcode_Binary Tree Inorder Traversal
- SSI框架下同时连接mysql和Oracle数据库
- Android WIFI功能开发<1>