c#dataGridView分页显示数据

//分页bean
public class PageBean
    {
       private int _TotalPage;
       private int _CurrentPage;
       private int _TotalRows;
       private int _PageSize;sql

       public int TotalPage
       {
           get
           {
               return _TotalPage;
           }函数

           set
           {
               _TotalPage = value;
           }
       }get

       public int CurrentPage
       {
           get
           {
               return _CurrentPage;
           }string

           set
           {
               _CurrentPage = value;
           }
       }it

       public int TotalRows
       {
           get
           {
               return _TotalRows;
           }io

           set
           {
               _TotalRows = value;
           }
       }class

       public int PageSize
       {
           get
           {
               return _PageSize;
           }object

           set
           {
               _PageSize = value;
           }
       }
    }select

/ ****主程序**** /分页

//实例化分页bean
       private PageBean pageBean = new PageBean();


       private void _ShowAllIns_Load(object sender, EventArgs e)
       {
           pageBean.PageSize = 27;
           pageBean.CurrentPage = 1;

           FillData();
       }

 

//获取指定数据的条件
private string GetCondition()
{
...
}

 

//填充数据
private void FillData()
{
    PageBll.SetPageBean(pageBean, GetCondition());
    dataGridViewX1.DataSource = GetAllIns(GetCondition(),pageBean);

     NowPage.Text= pageBean.CurrentPage.ToString();//显示当前页数
    TotlePage.Text = pageBean.TotalPage.ToString();//显示总页数
}


/ ***逻辑*** /
 /// < summary >
 /// 设置显示的总页数
 /// < /summary >
 /// < param name="pageBean">
 /// < param name="condition">获取数据约束条件
 /// < returns>
 public static void SetPageBean(PageBean pageBean,string condition)
 {
    pageBean.TotalRows = 获取数据的函数(condition);

    if (pageBean.TotalRows % pageBean.PageSize == 0)
         pageBean.TotalPage = pageBean.TotalRows / pageBean.PageSize;
    else
         pageBean.TotalPage = (pageBean.TotalRows / pageBean.PageSize) +1;
 }

 

       /// < summary>
       /// 获取总行数(可加限制条件) 分页显示
       /// < /summary>
       /// < param name="c">
       /// < returns>
       public static int GetTotalCount(string condition)
       {
           string sql = "select count(*) from InstrumentInfo where 1=1 " +condition;
           return (int)DBHelper.ExecuteScalar(sql);
       }

 

/// < summary>/// 获取全部数据 (分页用)/// < /summary>/// < returns>public static DataTable GetAllIns(string condition, PageBeanpageBean){   string sql = @"selecttt.InstrumentName 器械名称,                        Spec 规格,                        (case when OperationName is NULL then '无' else OperationName end)关联手术,                                   Times 使用次数,                             (case when IsUsing = 1 then '是' else '否' end) 使用中,                             (case when State = 1 then '正常' else '已报废' end) 状态,                             Division 一级目录,                             SubDivision 二级目录,                             BindTime 绑定时间,