datagrid翻页功能的自定义控件

转载 2006年06月15日 15:38:00

namespace XXXX.UserControl
{
  using System;
  using System.Data;
  using System.Drawing;
  using System.Web;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;
  using System.Data.SqlClient;

 /// <summary>
 ///  pagemanager 的摘要说明。
 /// </summary>
 public class pagemanager : System.Web.UI.UserControl
 {
  protected System.Web.UI.WebControls.Label lbl_pagecount;
  protected System.Web.UI.WebControls.Label lbl_currentpage;
  protected System.Web.UI.WebControls.Label lbl_num;
  protected System.Web.UI.WebControls.DropDownList DropDownList2;
  protected System.Web.UI.WebControls.LinkButton LinkButton3;
  protected System.Web.UI.WebControls.LinkButton LinkButton4;
  protected System.Web.UI.WebControls.LinkButton LinkButton2;
  protected System.Web.UI.WebControls.LinkButton LinkButton1;
  DataGrid myGrid;

  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面 
   myGrid=(DataGrid)Page.FindControl("myDataGrid");
    if(myGrid==null)
    {
     myGrid=(DataGrid)Page.FindControl("myGrid");
    }
   if(!IsPostBack)
   {
    this.BindPag();
    this.ShowStats();
   }
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  ///  设计器支持所需的方法 - 不要使用代码编辑器
  ///  修改此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
    this.DropDownList2.SelectedIndexChanged += new System.EventHandler       (this.DropDownList2_SelectedIndexChanged);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  #region 绑定到DataGrid控件
  private void DataBindToGrid()
  {
  Label mysqlLb=(Label)Page.FindControl("lbl_sql");
   DataSet ds=new DataSet();
   string  temp=mysqlLb.Text;
  
    ds=GetDataSet(temp[1].ToString(),temp[2].ToString());//获得dataset,需要自己写该函数或类

   myGrid.DataSource=ds.Tables[0].DefaultView;
   myGrid.DataBind();

   this.BindPag();
   this.ShowStats();
  }
  #endregion

  #region 分页BindPag()
  private  void BindPag()
  {
   //使DropDownList2的选择与DataGrid的页码同步,并重新填写DropDownList2的选项
   DropDownList2.Items.Clear();
   System.Web.UI.WebControls.ListItem li=new ListItem();
   for(int i=1;i<=this.myGrid.PageCount;i++)
   {
    li.Text =i.ToString(); 
    li.Value=i.ToString();
    //重新填写DropDownList2的选项
    this.DropDownList2.Items.Add(i.ToString());
    if(i==myGrid.CurrentPageIndex+1)
    {
     //使DropDownList2的选择与DataGrid的页码同步
     DropDownList2.SelectedIndex=DropDownList2.Items.IndexOf(DropDownList2.Items.FindByValue(i.ToString()));
    }
   }
  }
  #endregion

  #region 显示页控制按钮状态ShowStats()
  private void ShowStats()
  {
   lbl_currentpage.Text = "第 " + (myGrid.CurrentPageIndex + 1).ToString() + " 页";
   lbl_pagecount.Text = "总共 " + myGrid.PageCount.ToString() + " 页";
   lbl_num.Text=myGrid.PageSize .ToString() +"条/页";
   if (myGrid.CurrentPageIndex==0)
   {
    //如果选中的是首页
    this.LinkButton1.Enabled =false;
    this.LinkButton2.Enabled =false;
   }
   else
   {
    //不是首页
    this.LinkButton1.Enabled =true;
    this.LinkButton2.Enabled =true;
   }
   if (myGrid.CurrentPageIndex==myGrid.PageCount-1)
   {
    //如果选中的是尾页
    this.LinkButton3.Enabled=false;
    this.LinkButton4.Enabled =false;
   }
   else
   {
    //不是尾页
    this.LinkButton3.Enabled =true;
    this.LinkButton4.Enabled =true;
   }
  }
  #endregion

  #region 页选择 DropDownList2_SelectedIndexChanged
  private void DropDownList2_SelectedIndexChanged(object sender, System.EventArgs e)
  {
   //DropDownList2变化使datagrid显示页同步
   myGrid.CurrentPageIndex = System.Convert.ToInt32(DropDownList2.SelectedItem.Value)-1;
   DataBindToGrid() ;
   ShowStats();
  }
  #endregion

  #region 页面转换按钮响应函数PagerButtonClick
  public void PagerButtonClick(object sender, EventArgs e)
  {
   string arg = ((LinkButton)sender).CommandArgument.ToString();
   switch(arg)
   {
    case "next":
     if (myGrid.CurrentPageIndex <( myGrid.PageCount - 1))
     {
      myGrid.CurrentPageIndex += 1;
     }
     break;
    case "prev":
     if (myGrid.CurrentPageIndex > 0)
     {
      myGrid.CurrentPageIndex -= 1;
     }
     break;
    case "last":
     myGrid.CurrentPageIndex = (myGrid.PageCount - 1);
     break;
    default:
     myGrid.CurrentPageIndex = System.Convert.ToInt32(arg);
     break;
   }
   DataBindToGrid();
   ShowStats();
  }
  #endregion
 }
}
说明:在需要放置该控件的页面上,需要放置一个lbl_sql标签,用于存放sql语句(查询数据用)。

datagrid自定义分页控件

  • qq_31971935
  • qq_31971935
  • 2016年08月10日 17:32
  • 493

WPF 自定义分页控件DataPager.xaml

1、DataPager.xaml
  • qq_31971935
  • qq_31971935
  • 2016年11月15日 13:10
  • 497

ASP.NET大数据量分页技术的初步体验技巧

可以借助于GridView与AspNetPager(强大的开源分页控件)实现ASP.NET获取数据表格时的分页。 GridView分页功能较弱,分页切换速度不如AspNetPager。 两者可单独使用...
  • freeWayWalker
  • freeWayWalker
  • 2013年07月28日 18:11
  • 1738

详解WPF 4 DataGrid控件的基本功能

详解WPF 4 DataGrid控件的基本功能 提到DataGrid 不管是网页还是应用程序开发都会频繁使用。通过它我们可以灵活的在行与列间显示各种数据。本篇将详细介绍WPF 4 中DataGrid...
  • jiangxinyu
  • jiangxinyu
  • 2013年03月04日 16:05
  • 4092

DataGrid 自定义字段内容

因为DataGrid Web 控件的AutoGenerateColumn 属性预设为True,表示会自动产生数据源中所有的字段。如果我们想自订DataGrid Web 控制所要显示的字段,只要将Aut...
  • limshirley
  • limshirley
  • 2017年04月17日 14:16
  • 455

EasyUI数据分页实现(真假分页)

数据分页功能的实现是在任何一个项目中都非常实用的一个功能,在ASP.NET学习的时候,曾写过一篇关于分页功能的实现(点击查看),上面已经介绍的真假分页的优缺点,在这里我们就不过多的赘述了。现在的分页实...
  • why15732625998
  • why15732625998
  • 2016年08月14日 11:56
  • 10329

EasyUI多选,easyui datagrid 分页并保持checkbox选中状态

最近在使用EasyUI制作一个多选的功能,查找了很多资料,有几个说的不是很全,所以就尝试去写,今天终于弄出来了,就把完整的代码 贴出来,部门也是参照前人所说: 第一步:JSP页面 ①在data-opt...
  • u011809238
  • u011809238
  • 2017年04月11日 15:38
  • 1467

解决 easyui datagrid 表格 url 中带有变量时,翻页功能异常

easyui datagrid 表格 url 中带有变量时,翻页功能异常。 表格定义如下: $('#login-log').datagrid({ border:false, fit:...
  • Sky_qing
  • Sky_qing
  • 2015年12月29日 15:31
  • 1527

DataGrid控件用法详解

转自:http://www.vckbase.com/document/viewdoc/?id=1164 作者:万建华 下载源代码 写在前面   刚写这个题目,就觉得肩上...
  • banrixianxin
  • banrixianxin
  • 2014年05月16日 00:23
  • 4245

自定义View很简单 - Android翻页效果原理实现之引入折线

尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 PS:写得太嗨忘了说明...
  • sun20209527
  • sun20209527
  • 2015年11月05日 15:44
  • 1576
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:datagrid翻页功能的自定义控件
举报原因:
原因补充:

(最多只允许输入30个字)