今天在用.net 做网站的时候,用到了DATALIST,但是datalist 没有自带的分页控件,后来在网上找了好长时间,看了aspnetpager.dll这个控件,这个控件挺好用的.我把使用方法写出来,大家可以参考一下。
先网上下载一个分页的控件。AspNetPager.dll 这个文件。
先引用进来,添加引用那里添加进来。你也可以到工具箱那里,添加引用一下,工具箱上会多一个分页的控件的,到时候只要拖进到页面上就行了。
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
这个放到页面头部
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%"
NumericButtonCount="6" UrlPaging="true" NumericButtonTextFormatString="[{0}]"
CustomInfoHTML="第 <font
color=‘red‘><b>%CurrentPageIndex%</b></font> 页 共
%PageCount% 页 显示 %StartRecordIndex%-%EndRecordIndex% 条"
ShowCustomInfoSection="left"
FirstPageText="首页" LastPageText="末页"
NextPageText="下页" PrevPageText="上页" Font-Names="Arial" BackColor="#EDEDED"
AlwaysShow="true" SubmitButtonText="跳转" SubmitButtonStyle="botton"
On
</webdiyer:AspNetPager>
这个是一个写好的分页控件。样式都写好了~!
bind() 这个 方法可以写到页面加载的地方load里面
if(!ispostback)
{
bind();
}
-------------------------------------------------------------------------
private void bind()
{
DataSet ds = new
DataSet();
string sql = "select
b.* from users";
ds =
conn.GetReader(sql);///用来统计总数用。。。。。conn.GetReader()是自己写的一个方法返回dataset
this.AspNetPager1.RecordCount =
ds.Tables[0].Rows.Count;/////需要把记录的总数统计出来赋值给控件
int pageIndex = this.AspNetPager1.CurrentPageIndex -
1;//定义要显示的页面
int pageSize =
this.AspNetPager1.PageSize =
6;///定义每页显示6条信息
DataSet
dd = new DataSet();
dd =
GVBind(sql, pageIndex, pageSize);
this.dlp.DataSource =
dd;
dlp.DataBind();
}
protected void AspNetPager1_PageChanging1(object src,
Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex =
e.NewPageIndex;
bind();
}
public static DataSet GVBind(string strCom, int i1, int
i2)
{
int
firstPage = i1 * i2;
SetConnection();/////调用数据链接的,我就不写出来
DataSet ds = new DataSet();
OleDbDataAdapter myDbAdp = new OleDbDataAdapter(strCom, myDbCon);
myDbAdp.Fill(ds, firstPage,
i2, "article");
return
ds;
}