{
writer.Write(" ");
if(TextBeforeInputBox!=null)
writer.Write(TextBeforeInputBox);
writer.AddAttribute(HtmlTextWriterAttribute.Type,"text");
writer.AddStyleAttribute(HtmlTextWriterStyle.Width,"30px");
writer.AddAttribute(HtmlTextWriterAttribute.Value,CurrentPageIndex.ToString());
if(InputBoxStyle!=null&&InputBoxStyle.Trim().Length>0)
writer.AddAttribute(HtmlTextWriterAttribute.Style,InputBoxStyle);
if(InputBoxClass!=null&&InputBoxClass.Trim().Length>0)
writer.AddAttribute(HtmlTextWriterAttribute.Class,InputBoxClass);
if(PageCount<=1&&AlwaysShow)
writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly,"true");
writer.AddAttribute(HtmlTextWriterAttribute.Name,this.UniqueID "_input");
string scriptRef="doCheck(document.all['" this.UniqueID "_input'])";
string postRef="if(event.keyCode==13){if(" scriptRef ")__doPostBack('" this.UniqueID "',document.all['" this.UniqueID "_input'].value);else{event.returnValue=false;}}";
string keydownScript="if(event.keyCode==13){if(" scriptRef "){even
csover 发表于:2006.07.21 08:46 ::分类: ( asp.net ) ::阅读:(464次) :: 评论 (0) :: 引用 (0)
2006 年 07 月 20日, 星期四
一个简单的分页控件
采用Datagrid的默任的分页方式分页,后来发现对于大的数据量速度很慢,NET进程占用系统资源也很大,后来写了个分页的存储过程,每次取数据都只取当前页的,分页是分好了,但是发现翻页就没那么方便了,于是自己写了个简单的分页控件,代码如下(编译以后直接形成dll就可以用)。
sample code:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace PageInfoControl
{
///<summary>
///WebCustomeControl1的摘要说明
///</summary>
[DefaultProperty('TotalRecord'),ToolboxData('<{0}:PageInfo runat=server></{0}:PageInfo>')]
public class PageInfo:System.Web.UI.WebControls.WebControl,IPostBackEventHandler
{
#region Construct method
///<summary>
///构造函数
///</summary>
public PageInfo():base(HtmlTextWriterTag.Div)
{
}
#endregion
#region Variables and Constants
public event EventHandler ChangePageClick;
private string _BarBackGroudColor='#F1F1F1';
private string _BarLinkColor='Navy';
private string _BarCurrentColor='#EEEEEE';
private int _TotalRecord=0;
private int _TotalPage=0;
private int _CurrentPageIndex=1;
private int _ItemSize=10;
#endregion
#region Properties
[Description('分页条背景色'),Bindable(true),Category('Appearance'),DefaultValue('#F1F1F1')]
public string BarBackGroundColor
{
get{return _BarBackGroundColor;}
set{_BarBackGroundColor=value;}
}
[Description('分页条带链接数字颜色'),Bindable(true),Category('Appearance'),DefaultValue('Navy')]
public string BarLinkColor
{
get{return _BarLinkColor;}
set{_BarLinkColor=value;}
}[Description('分页条当前页数字颜色'),Bindable(true),Category('Appearance'),DefaultValue('#EEEEEE')]
public string BarCurrentColor
{
get{return _BarCurrentColor;}
set{_BarCurrentColor=value;}
} [Description('总记录数'),Bindable(false),Category('Behavior'),DefaultValue(0)]
public int TotalRecord
{
get{return _TotalRecord;}
set
{
foreach(char c in System.Convert.ToString(value))
{
if(!Char.IsNumber(c)
{
_TotalRecord=0;
break;
}
_TotalRecord=value;
}
} [Description('每页显示记录数'),Bindable(true),Category('Behavior'),DefaultValue(0)]
public int PageSize
{
get{return _PageSize;}
set
{
foreach(char c in System.Convert.ToString(value))
{
if(!Char.IsNumber(c))
{
_PageSize=0;
break;
}
}
_PageSize=value;
}
}[Description('总页数'),Bindable(true),Category('Behavior'),DefaultValue(0)]
public int TotalPage
{
get{return _TotalPage;}
}[Description('数字规格'),Bindable(true),Category('Behavior'),DefaultValue(10)]
public int ItemSize
{
get{return _ItemSize;}
set
{
foreach(char c in System.Convert.ToString(value))
{
if(!Char.IsNumber(c))
{
_ItemSize=10;
break;
}
}
_ItemSize=value;
}
}[Description('当前页值'),Bindable(true),Category('Behavior'),DefaultValue(1)]
public int CurrentPageIndex
{
get{return _CurrentPageIndex;}
set{_CurrentPageIndex=value;}
}
#endregion
//定义Div的样式
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddStyleAttribute('White-space','nowrap');
writer.AddStyleAttribute('Padding-Top','2px');
writer.AddStyleAttribute('Padding-Bottom',2px');
writer.AddStyleAttribute('Width',width.ToString());
writer.AddStyleAttribute('Height',Height.ToString());
base.AddAttributesToRender(writer);
}
protected virtual void OnPageChangeClick(EventArgs e)
{
if(ChangePageClick!=null)
{
ChangePageClick(this,e);
}
} public void RaisePostBackEvent(string eventArgument)
{
int PageIndex=int.Parse(eventArgument);
this._CurrentPageIndex=PageIndex;
OnPageChangeClick(new EventArgs());
}
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



