让数据分页显示

这两个类比较有用,先摘下来存一下

封装数据绑定控件(如 DataGrid、GridView、DetailsView 和 FormView)的与分页相关的属性,以允许该控件执行分页操作。无法继承此类。

名称 说明
  AllowCustomPaging 获取或设置一个值,指示是否在数据绑定控件中启用自定义分页。
  AllowPaging 获取或设置一个值,指示是否在数据绑定控件中启用分页。
  AllowServerPaging 获取或设置一个值,指示是否启用服务器端分页。
  Count 获取要从数据源使用的项数。
  CurrentPageIndex 获取或设置当前页的索引。
  DataSource 获取或设置数据源。
  DataSourceCount 获取数据源中的项数。
  FirstIndexInPage 获取页面中显示的首条记录的索引。
  IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。
  IsFirstPage 获取一个值,该值指示当前页是否是首页。
  IsLastPage 获取一个值,该值指示当前页是否是最后一页。
  IsPagingEnabled 获取一个值,该值指示是否启用分页。
  IsReadOnly 获取一个值,该值指示数据源是否是只读的。
  IsServerPagingEnabled 获取一个值,指示是否启用服务器端分页支持。
  IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。
  PageCount 获取显示数据源中的所有项所需要的总页数。
  PageSize 获取或设置要在单页上显示的项数。
  SyncRoot 获取可用于同步集合访问的对象。
  VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。


让数据分页显示   private  PagedDataSource pds()
让数据分页显示    
{
让数据分页显示        
string connstring = ConfigurationManager.ConnectionStrings["Pubs"].ConnectionString;
让数据分页显示        
//声明一个字符串,后面随时可以用
让数据分页显示
        SqlConnection con = new SqlConnection(connstring);
让数据分页显示        
//初始化连接
让数据分页显示
        SqlDataAdapter sda = new SqlDataAdapter("select * from authors", con);
让数据分页显示        
//初始化一个SqlDataAdapter,并给出查询语句
让数据分页显示
        DataSet ds = new DataSet();
让数据分页显示        
//初始化一个DataSet
让数据分页显示
        sda.Fill(ds, "name");
让数据分页显示        
//将上面查询到的数据填充到name表中
让数据分页显示
        SqlDataAdapter sda2 = new SqlDataAdapter("select * from titleauthor", con);
让数据分页显示        
//同上
让数据分页显示
        sda2.Fill(ds, "title");
让数据分页显示        
//同上
让数据分页显示
        ds.Relations.Add("myrela", ds.Tables["name"].Columns["au_id"], ds.Tables["title"].Columns["au_id"]);
让数据分页显示        
//为上面建立的两个表创建一个关系,指明父列和子列的名称并为他们的关系命名,前面将会用到
让数据分页显示

让数据分页显示        PagedDataSource pds 
= new PagedDataSource();
让数据分页显示        
//初始化一个PagedDataSource,允许控件分页
让数据分页显示
        pds.DataSource = ds.Tables["name"].DefaultView;
让数据分页显示        
//将上面的ds转换成标准数据视图
让数据分页显示
        pds.AllowPaging = true;
让数据分页显示        
//允许分页
让数据分页显示
        pds.PageSize = 5;
让数据分页显示        
//每页大小为5  
让数据分页显示
        pds.CurrentPageIndex = Convert.ToInt32(Request.QueryString["page"]);
让数据分页显示        
//设置当前页
让数据分页显示
        return pds;
让数据分页显示        
//将处理完毕的pds对象发出去
让数据分页显示
    }

让数据分页显示    
protected   void  Repeater1_ItemDataBound( object  sender, RepeaterItemEventArgs e)
让数据分页显示    
{
让数据分页显示        
if (e.Item.ItemType == ListItemType.Footer)
让数据分页显示        
{//判断当前项是页脚模板
让数据分页显示
            int n = pds().PageCount;//将分页总数赋给变量n
让数据分页显示
            int i = pds().CurrentPageIndex;//将当前分页码赋给i
让数据分页显示

让数据分页显示            Label lblpc 
= (Label)e.Item.FindControl("lblpc");
让数据分页显示            lblpc.Text 
= n.ToString();
让数据分页显示            
//找到lblpc这个Label,将总页码赋给他
让数据分页显示
            Label lblp = (Label)e.Item.FindControl("lblp");            
让数据分页显示            lblp.Text 
= Convert.ToString(pds().CurrentPageIndex + 1);            
让数据分页显示            
//找到lblp这个Label,将当前页码赋给他,但是注意,因为页码从0开始,这里要直观的话就得加1
让数据分页显示
            HyperLink hlfir = (HyperLink)e.Item.FindControl("hlfir");
让数据分页显示            hlfir.NavigateUrl 
= "?page=0";
让数据分页显示            HyperLink hlla 
= (HyperLink)e.Item.FindControl("hlla");
让数据分页显示            hlla.NavigateUrl 
= "?page=" + Convert.ToInt32(n - 1);
让数据分页显示            
//找到表示最前页和末页的Label,为他们的NavigateUrl属性赋为第0页和最大页码减1
让数据分页显示
            HyperLink hlp = (HyperLink)e.Item.FindControl("hlp");
让数据分页显示            HyperLink hln 
= (HyperLink)e.Item.FindControl("hln");
让数据分页显示            
//找到表示上页和下页这两个控件
让数据分页显示
            if (i <= 0)
让数据分页显示            
{//如果当前页已经是第0页
让数据分页显示
                hlp.Enabled = false;
让数据分页显示                hlfir.Enabled 
= false;
让数据分页显示                hln.Enabled 
= true;
让数据分页显示            }

让数据分页显示            
else
让数据分页显示            
{
让数据分页显示                hlp.NavigateUrl 
= "?page=" + Convert.ToInt32(i - 1);
让数据分页显示            }

让数据分页显示            
if (i > n-2 )
让数据分页显示            
{//如果当前项已经是最末页
让数据分页显示
                hln.Enabled = false;
让数据分页显示                hlla.Enabled 
= false;
让数据分页显示                hlp.Enabled 
= true;
让数据分页显示            }

让数据分页显示            
else
让数据分页显示            
{
让数据分页显示                hln.NavigateUrl 
= "?page=" + Convert.ToInt32(i + 1);
让数据分页显示            }

让数据分页显示        }

让数据分页显示    }

你可能感兴趣的:(分页)