zoukankan      html  css  js  c++  java
  • 手把手教你如何扩展GridView之自带分页

    最新重构源码下载:打造0代码全自动GridView-天具神力     
       

       您在使用GridView的时候是不是每次都要处理分页事件OnPageIndexChanging,面对成千上万的页面,您是否在页面中都有这样的代码: this.PageIndex = e.NewPageIndex;,看着原来写的臃肿的页面代码,您高兴的起来么?现在考验程序员水平的标准不再是写过多少行代码了,同志们,而是用最少的代码实现最多的功能。下面谈谈怎么实现一个自己会分页的GridView扩展,进一步实现GridView的自动化。
        首先谈谈实现这个功能的思路,我们在平时无奈的写下 this.PageIndex = e.NewPageIndex;的时候,下面作的事情肯定是获取数据源并绑定GridView,那么在我们的组件中,我们需要在GridView内部通知外部页面,“hi,页面大哥,我现在换页了,给俺个数据源,并给我绑上!”,这个时候,大家第一个反映肯定是利用委托事件了,我们用一个委托来实现去外部获取数据源的目的,声明一个委托:

     public delegate void BindEventHandler();
    然后在GridView扩展中声明一个实现BindEventHandler的事件
        public event BindEventHandler Bind;
            
    public virtual void OnBind()
            
    {
                
    if (Bind != null)
                
    {
                    Bind();
                    
    if (DataSource != null)
                    
    {
                        
    this.DataBind();
                    }

                }

            }
    然后重写OnPageIndexChanging事件
     protected override void OnPageIndexChanging(GridViewPageEventArgs e)
            
    {
                
    this.PageIndex = e.NewPageIndex;
                OnBind();
            }

    现在对GridView的扩展就完成了,简单吧,使用的时候需要注意的是,GridView必须实现bind事件,就是一定要给OnBind设置一个函数,在这个函数里面可以页面参数(Request.Param)或者控件内容(TextBox1.Text),或者其他条件来获取动态数据,并将得到的数据集合设置为GridView的DataSource,这样GridView就自己会分页了。
    上篇文章地址:
                             手把手教你如何扩展GridView之自带CheckBox
                             手把手教你如何扩展GridView之自动排序篇

    最新重构源码下载:打造0代码全自动GridView-天具神力     
       
  • 相关阅读:
    bzoj1923 [Sdoi2010]外星千足虫(gauss)
    bzoj1013 [JSOI2008]球形空间产生器sphere(gauss)
    bzoj1013 [JSOI2008]球形空间产生器sphere(gauss)
    高斯消元(写(shui)题必备)
    随 (rand)(校内hu测10.6T1)(dp+矩阵+数论)
    随 (rand)(校内hu测10.6T1)(dp+矩阵+数论)
    题(problem)(详解10.5hu测T3:Catalan)
    题(problem)(详解10.5hu测T3:Catalan)
    高精度(模板)
    FJUT ACM 2144 并查集
  • 原文地址:https://www.cnblogs.com/jillzhang/p/777987.html
Copyright © 2011-2022 走看看