朝鲜阅兵女兵奶不疼吗:给ASP.NET控件DATALIST添加分页功能的控件,最好是用VB.NET解释或者作为例子

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 04:39:31
当然知道DataGrid有分页功能,但是其灵活性不好,其样式过于统一,不如datalist那样可以有自己自定义布局,而且MSDN中的那个控件小弟太菜了,不是很懂怎么用(他使用的是c#),最好有一个控件,有VB.NET的例子

//定义数据连接对象
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["DataBaseCon"].ToString());
//创建数据适配器
SqlDataAdapter da = new SqlDataAdapter("....",conn);
DataSet ds = new DataSet();
//填充数据
da.Fill(ds,"tableName");
//创建分页类
PagedDataSource objPage = new PagedDataSource();
//设置数据源
objPage.DataSource = ds.Tables["tableName"].DefaultView;
//允许分页
objPage.AllowPaging = true;
//设置每页显示的项数
objPage.PageSize = 5;
//定义变量用来保存当前页面跳转的请求
int CurPage;
//判断是否有页面跳转请求
if(Request.QueryString["Page"] != null)
{
CurPage = Convert.ToInt32(Request.QueryString["Page"]);
}else
{
CurPage = 1;
}
//设置当前页的索引
objPage.CurrentPageIndex = CurPage-1;
//如果当前页不是首页
if(!objPage.IsFirstPage)
{
//InkPrev为HyperLink控件 翻页用的
InkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage-1);
}
//如果当前页不是最后一页
if(!objPage.IsFirstPage)
{
//InkNext为HyperLink控件 翻页用的
InkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage+1);
}
//进行数据绑定
DataListPage.DataSource = objPage;
DataListPage.DataBind();

重点说明:
把从数据库中取到的数据赋给PagedDataSource对象的DataSource属性,然后分别设置PagedDataSource对象的AllowPaging属性(允许分页)、PageSize属性(每页多少条记录),CurrentPageIndex属性(初始化时,当前页的索引为0,为首页。以后根据页面的跳转请求传递的参数设置当前页的索引值。
(vb的不会,C#的一点点,希望有帮助,新年快乐)

datalist好像没有分页功能吧,DataGrid才有呢它有个属性,把allowpaging属性值设为true就能分页了