repeater的分页

初.学net;

  1//连接数据库
  2 string connectstring = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString;
  3 SqlConnection Connect = new SqlConnection(connectstring);
  4        Connect.Open();
  5        string sqlstring = "select * from content";
  6        SqlDataAdapter da = new SqlDataAdapter(sqlstring, Connect);
  7        DataSet ds = new DataSet();
  8        da.Fill(ds, "content");
  9使用pageDataSource
 10  PagedDataSource pp = new PagedDataSource();
 11        pp.DataSource = ds.Tables[0].DefaultView;
 12        pp.AllowPaging = true;
 13        pp.PageSize = 1;
 14
 15//分页算法
 16int cpage;
 17int totalpage = pp.PageCount;
 18int currentpage = pp.CurrentPageIndex+1
 19StringBuilder strpage = new StringBuilder();
 20StringBuilder linkstring = new StringBuilder("?");
 21if (Request.QueryString["Page"]!= null)
 22       {   
 23           cpage = Convert.ToInt32(Request.QueryString["Page"]);
 24       }

 25        else
 26        { cpage = 1; }
 27       
 28        pp.CurrentPageIndex = cpage - 1;
 29
 30
 31        if (!pp.IsFirstPage)//Request.CurrentExecutionFilePath为当前的程序的文件名,直接写也可以 
 32            pre.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(cpage - 1);
 33
 34  if (!pp.IsLastPage)
 35 {    next.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(cpage + 1); }
 36
 37
 38 if (currentpage < 10)
 39        {
 40            for (int i = 1; i <= 10; i++)
 41            {
 42                if (i < totalpage)
 43                {
 44                    StringBuilder stringformat = new StringBuilder("<a href=\"");
 45                    stringformat.Append(linkstring);
 46                    stringformat.Append("&page={0}\">[{0}]</a>");
 47                    if (i == currentpage)
 48                    {
 49                        stringformat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
 50
 51
 52                    }

 53                    strpage.AppendFormat(stringformat.ToString(), i);
 54
 55
 56                }

 57                else
 58                {
 59                    break;
 60 
 61                }

 62                
 63            }

 64            if (totalpage > 10)
 65            {
 66               // strpage.AppendFormat("  <a href=\"{0}&page={1}\">[{1}]</a>", linkstring ,totalpage );
 67
 68            }

 69            
 70        }

 71        else if (currentpage <= (totalpage-5) )
 72        {
 73            strpage.AppendFormat(" <a href=\"{0}&page=1\">[1]</a> ", linkstring.ToString());
 74            for (int i = currentpage-5 ; i <= currentpage + 5; i++)
 75            {
 76
 77                if (i <= totalpage)
 78                {
 79                    StringBuilder stringformat = new StringBuilder("<a href=\"");
 80                    stringformat.Append(linkstring);
 81                    stringformat.Append("&page={0}\">[{0}]</a>");
 82                    if (i == currentpage)
 83                    {
 84                        stringformat = new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
 85                    }

 86                    strpage.AppendFormat(stringformat.ToString(), i);
 87                }

 88                else
 89                break
 90                }

 91
 92            }

 93            strpage.AppendFormat("<a href=\"{0}&p={1}\">[{1}]</a>", linkstring.ToString(), totalpage.ToString
 94                ());
 95
 96
 97        }

 98        else
 99        {
100            strpage.AppendFormat("<a href=\"{0}&page=1\">[1]</a>", linkstring.ToString ());
101          //for(int i=1;i<=totalpage ;i++)
102            //{
103            
104                   // StringBuilder stringformat=new StringBuilder ("<a href=\"");
105                       // stringformat.Append(linkstring);
106                        //stringformat .Append ("&page={0}\">[{0}]</a>");
107                         //if (i == currentpage)
108                         // {
109                             // stringformat = new StringBuilder("<font color=\"#FF0000\">[{0}]</font>");
110          
111                         //}
112                      // strpage.AppendFormat(stringformat.ToString(),i);
113              // }
114         
115
116            }

117        current.Text = strpage.ToString ();
118        Repeater1.DataSource = pp;
119        Repeater1.DataBind();
120
121
122     
123
124
125    }
126
127
128
129
posted @ 2006-08-24 14:21  释天  阅读(200)  评论(0编辑  收藏  举报