当前位置: 代码迷 >> ASP.NET >> asp.net+access 如何用aspnetpager分页
  详细解决方案

asp.net+access 如何用aspnetpager分页

热度:5734   发布时间:2013-02-25 00:00:00.0
asp.net+access 怎么用aspnetpager分页
C# code
string accessConnection = ConfigurationManager.ConnectionStrings["accessConnection"].ConnectionString;


------解决方案--------------------------------------------------------
给个例子给你

C# code
    protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            this.AspNetPager1.PageSize = 10;            this.AspNetPager1.RecordCount = Convert.ToInt32(OpenCode.AccessHelper.GetExecuteScalar("select count(*) from news as a inner join newstype as b on(a.ntypeid=b.ntid) where a.nlanguage=0 ", null));            GridDataBinds(1);        }    }    private void GridDataBinds(int pageIndex)    {        int pageSize = this.AspNetPager1.PageSize;        string strSql = PageCode.GetCommonPaging(" select top 10 nid,ntitle,ncontents,ndate,ntname,nrecommend,nsequence from news as a inner join newstype as b on(a.ntypeid=b.ntid)",                                                 pageSize, pageIndex, "nid", " and a.nlanguage=0 ", "from news as a inner join newstype as b on(a.ntypeid=b.ntid) ");        this.GridView1.DataSource = OpenCode.AccessHelper.GetReader(strSql, null);        this.GridView1.DataKeyField = "nid";        this.GridView1.DataBind();    }    protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)    {        GridDataBinds(e.NewPageIndex);    }封转方法 /// <summary>    /// 拼凑分页语句    /// </summary>    /// <param name="strSql">sql语句</param>    /// <param name="strtab">表名</param>    /// <param name="pageSize">分页大小</param>    /// <param name="pageIndex">当前页</param>    /// <param name="orderfield">排序字段</param>    /// <returns></returns>    public static string GetCommonPaging(string strSql, string strtab, int pageSize, int pageIndex, string orderfield,string strWhere)    {        string str = "";        if (pageIndex > 1)        {            str = string.Format("{0} where 1=1 {4} and {1}>( select max({1}) " +                                             " from( select top {2} {1} from {3}  where 1=1 {4} order by {1}) as {1} ) order by {1} ",                                               strSql, orderfield, (pageSize * (pageIndex - 1)).ToString(), strtab, strWhere);        }        else        {            str = string.Format("{0} order by {1}", strSql, orderfield);        }        return str;    }    public static string GetCommonPaging(string strSql, int pageSize, int pageIndex, string orderfield, string strWhere,string strchild)    {        string str = "";        if (pageIndex > 1)        {            str = string.Format("{0} where 1=1 {3} and {1}>( select max({1}) " +                                             " from( select top {2} {1} {4} where 1=1 {3} order by {1}) as {1} ) order by {1} ",                                               strSql, orderfield, (pageSize * (pageIndex - 1)).ToString(), strWhere, strchild);        }        else        {            str = string.Format("{0} where 1=1 {2} order by {1}", strSql, orderfield, strWhere);        }        return str;    }PS   分页语句原型:[code=SQL]SELECT TOP 页大小 *FROM table1WHERE id >          (          SELECT ISNULL(MAX(id),0)           FROM                 (                SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id                ) A          )ORDER BY id
  相关解决方案