分页使用

   在《 ASP.NET分页组件学与用——教学篇》中,我们讲解了分页组件的整个创建过程,那么在这一篇文章中,我们主要讨论一下如何使用该组件。
 
       请按以下步骤操作:
1、 创建一个WEB应用程序工程。
 
2、 将上篇文章中生成的组件添加到工具箱中。如果您不知道添加的过程,请参考文章《
 
 
3、 在默认的WEB窗体页面中,切换到HTML视图,把下列HTML代码复制到<form>标签中。
<div align="center">
                            <center>
                                   <table border="0" cellpadding="0" cellspacing="0" width="756" height="155" style="FONT-SIZE:12px">
                                          <tr>
                                                 <td width="756" height="23">分页控件的使用实例</td>
                                          </tr>
                                          <tr>
                                                 <td width="756" height="110" valign="top" align="center" runat="server" id="myHtml"></td>
                                          </tr>
                                          <tr>
                                                 <td width="756" height="22">
                                                 </td>
                                          </tr>
                                   </table>
                            </center>
                     </div>
 
4、 该HTML代码生成一个三行一列的表格, 从工具箱将控件拖到该表格的第三行中。
 
5、 在private void Page_Load(object sender, System.EventArgs e)事件处理程序中添加如下代码:
int cp;
            if(this.Request.Params["currentPage"] == null)
            {
                cp = 1;
            }
            else
            {
                cp = Convert.ToInt32(this.Request.Params["currentPage"]);
            }
 
            SqlConnection con = new SqlConnection("server=accp-lzh;uid=sa;pwd=sasa;database=Northwind");
            SqlCommand cmd = new SqlCommand("select * from [Order Details]",con);
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = cmd;
            DataSet ds = new DataSet();
            con.Open();
            adapter.Fill(ds,"table");
            con.Close();
           
            DataTable dt = new DataTable();
            dt = ds.Tables["table"];
            //以下设置控件参数
            this.LzhPages1.AllCount = dt.Rows.Count;//总记录条数
            this.LzhPages1.CurrentPage = cp;//当前页,从URL中读取
            this.LzhPages1.ShowPages = 10;//导航数字个数
            this.LzhPages1.Count = 10;//每页显示的记录条数
 
            StringBuilder sql = new StringBuilder();
            //以下三个字符串最终组合成一个完整的表格<table>
            string htmlHeader = "";//<table>标签
            string htmlBody = "";//中间有若干个<tr>标签,即行
            string htmlFoot = "";//</table>标签
 
            sql.AppendFormat("select top {0} * from [Order Details] where 1=1 and OrderID not in (select top {1} OrderID from [Order Details] where 1=1 order by OrderID desc) order by OrderID desc",this.LzhPages1.Count,this.LzhPages1.CurrentPage * this.LzhPages1.Count);
            SqlCommand cmd1 = new SqlCommand(sql.ToString(),con);
            adapter.SelectCommand = cmd1;
            con.Open();
            adapter.Fill(ds,"table1");
            con.Close();
 
            dt= ds.Tables["table1"];
            htmlHeader = "<table style='font-size:12px' border='1' cellpadding='0' cellspacing='0' width='100%' bordercolor='#008000' bordercolorlight='#008000' bordercolordark='#FFFFFF'>/n";
            
            for(int i = 0;i < dt.Rows.Count ;i ++)
            {
                htmlBody = htmlBody + String.Format("<tr>/n<td width='12%'>{0}</td>/n<td width='43%'>{1}</td>/n<td width='24%'>{2}</td><td width='21%'>{3}</td>/n</tr>/n",dt.Rows[i][0].ToString(),dt.Rows[i][1].ToString(),dt.Rows[i][2].ToString(),dt.Rows[i][3].ToString());
            }
            htmlFoot = "</table>/n";
 
        this.myHtml.InnerHtml = htmlHeader + htmlBody + htmlFoot;
 
6、 sql.AppendFormat( "select top {0} * from [Order Details] where 1=1 and OrderID not in (select top {1} OrderID from [Order Details] where 1=1 order by OrderID desc) order by OrderID desc",this.LzhPages1.Count,this.LzhPages1.CurrentPage * this.LzhPages1.Count);此语句中的SQL语句就是用来分页的,我们的控件只是用来控制页面,数据还得通过SQL语句或存储过程读取。
 
7、 结果图:
 
 
ASP.NET组件编程step by step》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值