AspNetPage是一个分页控件,解决了DataList和其他的数据库控件没有分页的缺陷。
前面和FreeTextBox的使用差不多,但AspNetPage没有文件夹,直接添加AspNetPage.dll文件就行
AspNetPage 他需要一些代码才能正常使用
using Wuqi.Webdiyer;命名空间
sql 统计行,sql2、sql3查询DataList上要显示的内容
//绑定AspNetPage分页自定义函数
public static void bindGV(string sql, string sql2, string sql3, AspNetPager aspnet, DataList dl)
{
//连接
SqlConnection conn = new SqlConnection(connDB());
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
//将统计的行数赋给AspNetPage
aspnet.RecordCount = Convert.ToInt32(cmd.ExecuteScalar());
conn.Close();
//讲sql语句是执行,将结果存到da中,并对数据进行操作
SqlDataAdapter da = new SqlDataAdapter(sql2, conn);
DataSet ds = new DataSet();
da.Fill(ds, aspnet.PageSize * (aspnet.CurrentPageIndex - 1), aspnet.PageSize, sql3);
//绑定到datalist上
dl.DataSource = ds.Tables[0];
dl.DataBind();
//显示
aspnet.CustomInfoHTML = "记录总数:<font color='blue'><b>" + aspnet.RecordCount.ToString() + "</b></font> ";
aspnet.CustomInfoHTML += " 总页数:<font color='blue'><b>" + aspnet.PageCount.ToString() + "</b></font> ";
aspnet.CustomInfoHTML += " 当前页:<font color='red'><b>" + aspnet.CurrentPageIndex.ToString() + "</b></font>";
}
protected void BindData()
{
//显示的内容
string sql = "select * from Message ";
//统计有多少行
string sql1 = "select count(*) from Message";
//每页显示2条记录
AspNetPager1.PageSize = 10;
//分页控件的绑定
db.bindGV(sql1, sql, "sql", AspNetPager1,dlMessage);
}
//AspNetPage控件的PageChanging事件
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
//选择改变时,跳到相应的网页
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
BindData();
}
protected void Page_Load(object sender, EventArgs e)
{
//判断是否是第一次加载页面
if (!IsPostBack)
{
//绑定分页控件和DataList上
BindData();