zoukankan      html  css  js  c++  java
  • Access 分页的那些碎事儿

    功能:

          使用AspnetPager控件 绑定给 GridView 分页。数据库为 Access

    详细分析:

          1、准备控件,GridView,AspnetPager。

      2、调整AspnetPager样式。

          3、后台写一个分页方法。

          4、在页面首次加载的时候调用此方法。

      5、在Aspnetpager的 AspNetPager_PageChanged 事件中设定页码,再次调用分页方法。

      6、分页方法剖析:

              Access:   T-Sql语句   分页方法如下:

          

     public static IList<_P_Category> FillSmallPager(int pagesize,int start)
        {
            string s_p=string.Empty;
            if (start == 0)
            {
                s_p = string.Format
                ("select c_id,c_name from XWE_P_Category ");
            }
            else
            {
                s_p = string.Format
                ("select top {0} c_id,c_name from XWE_P_Category where (c_id not in (select top 2 c_id from  XWE_P_Category))"
                , pagesize, start);
            }
            
            IList<_P_Category> list = new List<_P_Category>();
            _P_Category _p_c = null;
            DataTable dt = SaleInfoManager.GetBySQL(s_p);
            foreach (DataRow dr in dt.Rows)
            {
                _p_c = new _P_Category();
                _p_c.C_id = (int)dr["c_id"];
                _p_c.C_name = (string)dr["c_name"];
                list.Add(_p_c);
            }
            return list;
        }
    

       7、窗体加载时调用绑定 Gridview的方法:

      

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    typeList();
    AspNetPager1.RecordCount
    = count;
    }
    }

      

      8、GridView的绑定方法:

    private void typeList()
    {
    int start = AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex-1);//获得开始页
    int pagesize = AspNetPager1.PageSize ;//总页数

    IList
    <BigTypeModel> list = typeDal.GetList(pagesize, start, "");//获得结果

    count
    = typeDal.getCount();//得到数据的总行数,用于给分页的总数量赋值

    this.gvBigtype.DataSource = list;
    this.gvBigtype.DataBind();

    AspNetPager1.CustomInfoText
    = "记录总数:<b>" + AspNetPager1.RecordCount.ToString() + "</b>";

    AspNetPager1.CustomInfoText
    += " 总页数:<b>" + AspNetPager1.PageCount.ToString() + "</b>";

    AspNetPager1.CustomInfoText
    += " 当前页:<font color=\"red\"><b>" + AspNetPager1.CurrentPageIndex.ToString() + "</b></font>";
    }

      9、AspnetPager的 页码改变事件:

    protected void AspNetPager1_PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e)
    {
    AspNetPager1.CurrentPageIndex
    =e.NewPageIndex;
    typeList();
    }

    效果:

  • 相关阅读:
    abp 嵌入资源(视图、css、js)的访问
    提高SQL查询效率的30种方法
    jqgrid 使用自带的行编辑
    jqgrid 单击行启用行编辑,切换行保存原编辑行
    handsontable 拖动末尾列至前面列位置,被拖动列消失的问题
    js 自己项目中几种打开或弹出页面的方法
    js 根据相对路径url获得完整路径url
    【Flutter学习】之动画实现原理浅析(一)
    Xcode 编辑器之关于Other Linker Flags相关问题
    【Flutter学习】之Widget数据共享之InheritedWidget
  • 原文地址:https://www.cnblogs.com/307914070/p/1956954.html
Copyright © 2011-2022 走看看