翻页控件
来源:互联网 发布:手机淘宝怎么看信用度 编辑:程序博客网 时间:2024/04/30 08:27
鉴于datagrid的分页非常垃圾,我就自己做了一个翻页控件
有些朋友对web控件编写还不是非常熟悉,呵呵,我看到很多朋友在询问包括回传事件等等,我在这里讲解一些(高手跳过)
其中控件要实现回传,我继承IPostBackEventHandler接口,在成员函数RaisePostBackEvent(string eventArgument)中实现对当前页的存放.设置Onclick为回传,需要用到Page.GetPostBackEventReference 方法,其中GetPostBackEventReference ( System.Web.UI.Control control , System.String argument )包含两个参数,第一个表示实现回传的控件,第2个表示回传值,这个值也就是我们成员函数RaisePostBackEvent获取到的值.在这里,我是把当前页索引作为回传值的,在成员函数中显现对viewstate的副职
其中包括两个viewstate,分别保存总记录数和当前页索引
ViewState["RecordCount"] //存放总记录
ViewState["page"] //存放当前页
ViewState["page"] //存放当前页
其中包含属性:
public int RecordCount //总记录数
public int CurrentIndex //当前页数
public int PageCount //总页数
public int PageViewCount //每页显示的记录数
public string Style //样式
public string Info //显示的文字
public int CurrentIndex //当前页数
public int PageCount //总页数
public int PageViewCount //每页显示的记录数
public string Style //样式
public string Info //显示的文字
重写了Render方法
protected override void Render(HtmlTextWriter htw)
{
htw.AddAttribute(HtmlTextWriterAttribute.Border, "0");
htw.AddAttribute(HtmlTextWriterAttribute.Class, "PagerContainerTable");
htw.RenderBeginTag(HtmlTextWriterTag.Table);
htw.RenderBeginTag(HtmlTextWriterTag.Tr);
RenderFirst(htw);//首页
RenderPrev(htw);//上一页
RenderCurrent(htw);//索引页
RenderNext(htw);//下一页
RenderLast(htw);//尾页
RanderGoto(htw);//跳到
RenderInfo(htw);//显示的文字
htw.RenderEndTag();
htw.RenderEndTag();
}
{
htw.AddAttribute(HtmlTextWriterAttribute.Border, "0");
htw.AddAttribute(HtmlTextWriterAttribute.Class, "PagerContainerTable");
htw.RenderBeginTag(HtmlTextWriterTag.Table);
htw.RenderBeginTag(HtmlTextWriterTag.Tr);
RenderFirst(htw);//首页
RenderPrev(htw);//上一页
RenderCurrent(htw);//索引页
RenderNext(htw);//下一页
RenderLast(htw);//尾页
RanderGoto(htw);//跳到
RenderInfo(htw);//显示的文字
htw.RenderEndTag();
htw.RenderEndTag();
}
函数GetInt为从总记录数计算页数
private int GetInt(int Value,int PasvValue)
{
try
{
int newValue = Value/PasvValue;
int tmp = Value%PasvValue;
if(tmp>0)
{
newValue ++ ;
}
return newValue;
}
catch
{}
return -1;
}
{
try
{
int newValue = Value/PasvValue;
int tmp = Value%PasvValue;
if(tmp>0)
{
newValue ++ ;
}
return newValue;
}
catch
{}
return -1;
}
调用过程
只需要初始覆值 CutePager1.RecordCount 总记录数
回传事件中只需要重新帮定你的DataGrid等就行,
this.CutePager1.CurrentIndex为当前索引
CutePager1.PageViewCount为每页显示的记录数,
这里包含原文件和一个demo文件,大家有兴趣的朋友可以看看,大家互相学习
Demo Source
- 翻页控件
- 翻页控件
- 翻页的WEB控件
- 翻页导航控件
- Flash控件:翻页
- 自定义的翻页控件
- 翻页的WEB控件
- extjs翻页控件
- 翻页控件 刷新
- 自定义控件之翻页控件
- 自定义Web DataGrid 翻页控件
- asp.net 翻页控件 (c#)
- 自己封装的翻页控件
- Memo控件中控制翻页
- 使DataList控件有翻页功能
- 使DataList控件有翻页功能
- datagrid翻页功能的自定义控件
- 委托与事件的应用---翻页控件
- 验证字符串是否为日期
- XML基础 (2)
- 精典的笑话 中美撞机事件大话西游版
- 1.1和2.0下进行https请求的不同实现
- javadoc,在 Java 的注释上做文章
- 翻页控件
- Collections容器的搜索方法
- ASP.NET的Page.IsPostBack 属性详细说明
- 禅意花园zen of css出版前----征集国内网站公司设计师和程序员对此书的评价
- 采用母板页的页面使用JavaScript问题
- Tomcat+JSP经典配置实例
- Unable to load class for JSP
- 生成图片缩略图
- 一名董事长给大学生的18条忠告