求帮忙写一个AspNetPager1根据查询条件查询的结果分页的代码例子...分页

解决方案 »

  1.   

       public void BindData()
            {
                string sql = @"select rownum rn,t.* from(
    select a.sfzh,a.xm,a.xb,a.ysyj,a.yybf,a.bcffze,a.xskssj,a.xsjzsj,a.yhkh,a.dh,a.dyfesj,b.dwgryljfjs as ylsjje,b.jfssq from sybx a left join
    (select * from zgylbx where jfssq='" + DateTime.Now.AddMonths(-1).ToString("yyyyMM") + "') b on a.sfzh=b.sfzh where a.sjqb='" + DateTime.Now.AddMonths(-1).ToString("yyyyMM") + "') t";
                
                BLL bll = new BLL();
                bll.BindingRepeaterWithAspNetPager(AspNetPager1, Repeater1, sql);
            }
      

  2.   

     #region 用aspnetpager控件和repeater控件结合oracle存储过程绑定
            /// <summary>
            /// 用aspnetpager控件和repeater控件结合oracle存储过程绑定
            /// </summary>
            /// <param name="aspnetpager">aspnetpager控件</param>
            /// <param name="bindingtarget">repeater控件</param>
            /// <param name="pagesql">执行的sql语句</param>
            public void BindingRepeaterWithAspNetPager(AspNetPager aspnetpager, Repeater bindingtarget, string pagesql)
            {
                int recordcount = 0;
                ArrayList result = null;
                MPage page = new MPage();
                page.Pagesize = aspnetpager.PageSize;//每页显示的条数
                page.Pageindex = aspnetpager.StartRecordIndex / aspnetpager.PageSize;//显示页的索引 从0开始
                page.Pagesql = pagesql;//产生分页的sql语句 sql要求必须包含rownum字段且其别名为rn,如例子:select rownum rn,t.* from test t            bindingtarget.DataSource = GetPageRecord(page, out result);
                bindingtarget.DataBind();            if (result != null && result.Count > 0)
                {
                    if (int.TryParse(result[3].ToString(), out recordcount))
                    {
                        aspnetpager.RecordCount = recordcount;
                    }
                    else
                    {
                        aspnetpager.RecordCount = 0;
                    }
                }
            }
            #endregion
      

  3.   

     #region 获取分页的记录
            /// <summary>
            /// 获取分页的记录
            /// </summary>
            /// <param name="page">封装的页面对象</param>
            /// <param name="result">反馈的结果</param>
            /// <returns>结果集的表</returns>
            public DataTable GetPageRecord(MPage page, out ArrayList result)
            {
                OracleParameter[] oracleParameter = new OracleParameter[6];            oracleParameter[0] = new OracleParameter("p_pagesql", OracleType.VarChar);
                oracleParameter[0].Direction = ParameterDirection.Input;
                oracleParameter[0].Value = page.Pagesql;            oracleParameter[1] = new OracleParameter("p_pagesize", OracleType.Number);
                oracleParameter[1].Direction = ParameterDirection.Input;
                oracleParameter[1].Value = page.Pagesize;            oracleParameter[2] = new OracleParameter("p_pageindex", OracleType.Number);
                oracleParameter[2].Direction = ParameterDirection.Input;
                oracleParameter[2].Value = page.Pageindex;            oracleParameter[3] = new OracleParameter("p_totalcount", OracleType.Number);
                oracleParameter[3].Direction = ParameterDirection.Output;            oracleParameter[4] = new OracleParameter("p_pagecount", OracleType.Number);
                oracleParameter[4].Direction = ParameterDirection.Output;            oracleParameter[5] = new OracleParameter("p_currentpagedata", OracleType.Cursor);
                oracleParameter[5].Direction = ParameterDirection.Output;            DataAccess da = new DataAccess();
                return da.ExecuteProcedureWithTable(DBConn.sb, ref oracleParameter, "p_app_page", out result);
            }
            #endregion
      

  4.   

     大家看一下这是我的查询方法public void DataBin() 
            {
                if (tb_endTime.Text == "" && tb_beginTime.Text == "")
                {
                    if (Drop_user.Text == null || Drop_user.Text == "")
                    {
                        if (txt_ProjectName.SelectedItem.Text == "查询全部")
                        {
                            Binddatagridview();
                        }
                        else if (txt_ProjectName.SelectedItem.Text != "查询全部")
                        {
                            sql = "SELECT * FROM FeedbackEveryday INNER JOIN project ON FeedbackEveryday.pid = project.pid INNER JOIN Users ON FeedbackEveryday.uid = Users.uid where ProjectName like @s order by AddTimes desc";
                            GridView1.DataSource = SqlHelper.ExecuteDataSet(sql, CommandType.Text, new SqlParameter[]{
                        new SqlParameter("@s",txt_ProjectName.SelectedItem.Text+"%")
                        });
                            GridView1.DataKeyNames = new string[] { "ID" };
                            GridView1.DataBind();
                        }
                    }
                    else
                    {
                        s = Drop_user.SelectedItem.Text;
                        if (txt_ProjectName.SelectedItem.Text == "查询全部" && Drop_user.SelectedItem.Text == "查询所有")
                        {
                            Binddatagridview();
                        }
                        else if (txt_ProjectName.SelectedItem.Text == "查询全部" && Drop_user.SelectedItem.Text != "查询所有")
                        {
                            sql = "SELECT * FROM FeedbackEveryday INNER JOIN project ON FeedbackEveryday.pid = project.pid INNER JOIN Users ON FeedbackEveryday.uid = Users.uid where UserName like @s order by AddTimes desc";
                            GridView1.DataSource = SqlHelper.ExecuteDataSet(sql, CommandType.Text, new SqlParameter[]{
                        new SqlParameter("@s",s+"%")
                        });
                            GridView1.DataKeyNames = new string[] { "ID" };
                            GridView1.DataBind();
                        }
                        else if (txt_ProjectName.SelectedItem.Text != "查询全部" && Drop_user.SelectedItem.Text == "查询所有")
                        {
                            sql = "SELECT * FROM FeedbackEveryday INNER JOIN project ON FeedbackEveryday.pid = project.pid INNER JOIN Users ON FeedbackEveryday.uid = Users.uid where ProjectName like @s order by AddTimes desc";
                            GridView1.DataSource = SqlHelper.ExecuteDataSet(sql, CommandType.Text, new SqlParameter[]{
                        new SqlParameter("@s",txt_ProjectName.SelectedItem.Text+"%")
                        });
                            GridView1.DataKeyNames = new string[] { "ID" };
                            GridView1.DataBind();
                        }
                        else
                        {
                            if (txt_ProjectName.Text == "" || Drop_user.Text == "")
                            {
                                Binddatagridview();
                            }
                            else
                            {
                                sql = "SELECT * FROM FeedbackEveryday INNER JOIN project ON FeedbackEveryday.pid = project.pid INNER JOIN Users ON FeedbackEveryday.uid = Users.uid where UserName like @s and ProjectName like @n order by AddTimes desc";
                                GridView1.DataSource = SqlHelper.ExecuteDataSet(sql, CommandType.Text, new SqlParameter[]{
                        new SqlParameter("@s","%"+s+"%"),
                        new SqlParameter("@n","%"+txt_ProjectName.SelectedItem.Text+"%")
                        });
                                GridView1.DataKeyNames = new string[] { "ID" };
                                GridView1.DataBind();
                            }
                        }
                    }
                }我想要通过button点击按钮查询调用此方法,把查询到的结果用C#AspNetPager1分页,具体该怎么写呀