打印本文 打印本文 关闭窗口 关闭窗口
解决Asp.net中翻页问题的自定义用户控件
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1866  更新时间:2009/4/23 10:50:13  文章录入:mintao  责任编辑:mintao
    //网格数据绑定
    BindGrid();        
   }   
  }
  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
   InitializeComponent();   
   base.OnInit(e);

   //翻页控件中的事件声明   
   tcChangePage.PageIndexChanged +=new ChangePage.PageIndexChangedEventHandler(this.PageButtonClick); //翻页事件
   tcChangePage.GoPage +=new ChangePage.GoPageEventHandler(this.PageGoButtonClick);     //GoTo事件
  }    
  #endregion
  
  /// 网格数据绑定
  void BindGrid()
  {   
   //读取数据库的信息,获得DataView    将DataView绑定到DataGrid上去

   {....}      
    
   //显示页码
   tcChangePage.ShowStats( MyDataGrid );
   //判断翻页按钮Enable状态
   tcChangePage.PagerButtonEnable( MyDataGrid );
  }

  #region 翻页处理 代码的主体部分
  /// 翻页按钮事件处理
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  public void PageButtonClick(Object sender,System.EventArgs e)
  {
   //获得LinkButton的参数值
   String arg = ((LinkButton)sender).CommandArgument;

   switch(arg)
   {
    case ("next"): //下页
     if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
      MyDataGrid.CurrentPageIndex ++;      
     break;
    case ("prev"): //上页
     if (MyDataGrid.CurrentPageIndex > 0)
      MyDataGrid.CurrentPageIndex --;
     break;
    case ("last"): //末页
     MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
     break;
    default:       //首页     
     MyDataGrid.CurrentPageIndex = 0;
     break;
   }
   //网格数据绑定
   BindGrid();
   //网格数据指定
   MyDataGrid.SelectedIndex = 0 ;
   //指定到网格中第一行,同时将数据显示到明细窗口(显示)
   SelectItemCommand( 0 , "显示");
  }
  /// <summary>
  /// 翻页Go按钮处理事件
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="PageIndex"></param>
  public void PageGoButtonClick(Object sender , int PageIndex)
  {   
   //获得Button的参数值
   string arg = ((Button)sender).CommandArgument;
   switch(arg)
   {
    case ("GoPage"): //指定到某一页
     if (PageIndex <= MyDataGrid.PageCount)
     {
      MyDataGrid.CurrentPageIndex = (PageIndex-1);
     }
     else
     {
      MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount-1);
     }
     break;
   }
   //网格数据绑定
   BindGrid();
   //网格数据指定
   MyDataGrid.SelectedIndex = 0 ;
   //指定到网格中第一行,同时将数据显示到明细窗口(显示)
   SelectItemCommand( 0 , "显示");
  }   
  #endregion
 }
}

代码写了一大堆,看上去挺复杂,其实挺简单的,呵呵,如果觉得是垃圾,请弃之。。。。

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口