注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 LCS2005客户端配置详解:L..
 帮助

打算写个新闻系统!以下是所用到的分页代码!


2005-06-14 14:40:00
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
  //统计当前分类记录数
                Conn.Open();
                
                
if (Request.QueryString["XClass"!= null)
                
{
                    XID 
= int.Parse(Request.QueryString["XClass"]);
                    strSQL 
= "SELECT COUNT(*) FROM Question WHERE Xclass = @XID";
                    Cmd 
= new OleDbCommand(strSQL, Conn);
                    Cmd.Parameters.Add(
new OleDbParameter("@XID", OleDbType.Integer)).Value = XID;
                }

                
else
                
{
                    strSQL 
= "SELECT COUNT(*) FROM Question WHERE Dclass = @DID";
                    Cmd 
= new OleDbCommand(strSQL, Conn);
                    Cmd.Parameters.Add(
new OleDbParameter("@DID", OleDbType.Integer)).Value = DID;
                }


                intTotalRecord 
= (int)Cmd.ExecuteScalar();

                intTotalPage 
= intTotalRecord % intPageSize == 0 ? (int)(intTotalRecord / intPageSize) : (int)(intTotalRecord / intPageSize) + 1;
                    

                
if (Request.QueryString["p"!= null && Request.QueryString["p"!= "")
                    intCurrentPage 
= int.Parse(Request.QueryString["p"]);

                
if (intCurrentPage > intTotalPage)
                    intCurrentPage 
= intTotalPage;
                    
                
if (intCurrentPage - 1 <= 0)
                
{
                    intStartRecord 
= 0;
                }

                
else
                
{                    
                    intStartRecord 
= intPageSize * (intCurrentPage - 1);
                }

                    
            
            
                
//绑定分类记录

                
if (Request.QueryString["XClass"!= null)
                
{
                    XID 
= int.Parse(Request.QueryString["XClass"]);
                    strSQL 
= "SELECT * FROM Question WHERE XClass = @XID";
                    Cmd 
= new OleDbCommand(strSQL, Conn);
                    Cmd.Parameters.Add(
new OleDbParameter("@XID", OleDbType.Integer)).Value = XID;
                }

                
else
                
{
                    strSQL 
= "SELECT * FROM Question WHERE Dclass = @DID";
                    Cmd 
= new OleDbCommand(strSQL, Conn);
                    Cmd.Parameters.Add(
new OleDbParameter("@DID", OleDbType.Integer)).Value = DID;
                }



                Adpt 
= new OleDbDataAdapter(Cmd);
                Adpt.Fill(Ds,intStartRecord, intPageSize,
"Topic");
                Topic.DataSource 
= Ds.Tables["Topic"].DefaultView;
                
//Topic.DataBind();
                
//开始分页算法
                StringBuilder strLink = new StringBuilder("?");
                
if (Request.QueryString["DClass"!= null && Request.QueryString["DClass"!= "")
                    strLink.AppendFormat(
"DClass={0}", Request.QueryString["DClass"]);
                
if (Request.QueryString["XClass"!= null && Request.QueryString["XClass"!= "")
                    strLink.AppendFormat(
"&XClass={0}", Request.QueryString["XClass"]);
            
                
if (intCurrentPage>1)
                    intRow
=intCurrentPage*intPageSize-(intPageSize-1);
                
                
else
                    intRow
=1;
            
                
if (intCurrentPage <= 3)
                
{
                    
for (int i = 1; i <= 5; i ++)
                    
{
                        
if (i <= intTotalPage)
                        
{
                            StringBuilder strFormat 
= new StringBuilder(" <a href=\"");
                            strFormat.Append(strLink);
                            strFormat.Append(
"&p={0}\">[{0}]</a>");
                            if (i == intCurrentPage)
                                strFormat 
= new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
                            strPages.AppendFormat(strFormat.ToString(), i);
                        }

                        
else
                        
{
                            
break;
                        }

                    }

                    
if (intTotalPage > 3)
                        strPages.AppendFormat(
"  <a href=\"{0}&p={1}\">[{1}]</a>", strLink.ToString(), intTotalPage);
                }

                
else if (intCurrentPage < intTotalPage - 2)
                
{
                    strPages.AppendFormat(
" <a href=\"{0}&p=1\">[1]</a> ", strLink.ToString());
                    
for (int i = intCurrentPage - 2; i <= intCurrentPage + 2; i ++)
                    
{
                        
if (i < intTotalPage)
                        
{
                            StringBuilder strFormat 
= new StringBuilder(" <a href=\"");
                            strFormat.Append(strLink);
                            strFormat.Append(
"&p={0}\">[{0}]</a>");
                            if (i == intCurrentPage)
                                strFormat 
= new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
                            strPages.AppendFormat(strFormat.ToString(), i);
                        }

                        
else
                        
{
                            
break;
                        }

                    }

                    strPages.AppendFormat(
"  <a href=\"{0}&p={1}\">[{1}]</a>", strLink.ToString(), intTotalPage);
                }

                
else
                
{
                    strPages.AppendFormat(
" <a href=\"{0}&p=1\">[1]</a> ", strLink.ToString());
                    
for (int i = intTotalPage - 3; i <= intTotalPage; i ++)
                    
{
                        StringBuilder strFormat 
= new StringBuilder(" <a href=\"");
                        strFormat.Append(strLink);
                        strFormat.Append(
"&p={0}\">[{0}]</a>");
                        if (i == intCurrentPage)
                            strFormat 
= new StringBuilder(" <font color=\"#FF0000\">[{0}]</font>");
                        strPages.AppendFormat(strFormat.ToString(), i);
                    }

                }

                
//分页算法结束
                DataBind();
                Dispose();
                Cmd.Dispose();
                Conn.Close();
                Conn.Dispose();

本文出自 “共享经验” 博客,转载请与作者联系!





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: