原文:http://dotnet.aspx.cc/ShowDetail.aspx?id=B12283DE-DB20-4322-ACCC-12724442808A
我这只是加了一个下拉列表框DropDownList跳转
----------------------------------cs start-----------------------------------------------

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Data.OleDb;

 

namespace Hover

{

     /// <summary>

     /// DataGridPaging 的摘要说明。

     /// </summary>

     public class DataGridPaging : System.Web.UI.Page

     {

         protected System.Web.UI.WebControls.DataGrid MyDataGrid;

         protected System.Web.UI.WebControls.Label lblPageCount;

         protected System.Web.UI.WebControls.Label lblCurrentIndex;

         protected System.Web.UI.WebControls.LinkButton btnFirst;

         protected System.Web.UI.WebControls.LinkButton btnPrev;

         protected System.Web.UI.WebControls.LinkButton btnNext;

         protected System.Web.UI.WebControls.LinkButton btnLast;

         protected System.Web.UI.WebControls.DropDownList DropDownList1;

         protected System.Web.UI.WebControls.Label lblNum;

         Hover.Conn obj=new Hover.Conn();

    

         private void Page_Load(object sender, System.EventArgs e)

         {

              // 在此处放置用户代码以初始化页面

              btnFirst.Text = "最首页";

              btnPrev.Text = "前一页";

              btnNext.Text = "下一页";

              btnLast.Text = "最后页";

              obj.open();

              BindGrid();

              BindPag();

         }

        

         private void ShowStats()

         {

              lblCurrentIndex.Text = " " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " ";

              lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " ";

              lblNum.Text=MyDataGrid.PageSize .ToString() +"/";

              if (MyDataGrid.CurrentPageIndex==0)

              {

                   btnFirst.Enabled =false;

                   btnPrev.Enabled =false;

              }

              else

              {

                   btnFirst.Enabled =true;

                   btnPrev.Enabled =true;

              }

              if (MyDataGrid.CurrentPageIndex==MyDataGrid.PageCount-1)

              {

                   btnNext.Enabled =false;

                   btnLast.Enabled =false;

              }

              else

              {

                   btnNext.Enabled =true;

                   btnLast.Enabled =true;

              }

         }

 

         public void PagerButtonClick(object sender, EventArgs e)

         {

              string arg = ((LinkButton)sender).CommandArgument.ToString();

              switch(arg)

              {

                   case "next":

                       if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))

                       {

                            MyDataGrid.CurrentPageIndex += 1;

                       }

                       break;

                   case "prev":

                       if (MyDataGrid.CurrentPageIndex > 0)

                       {

                            MyDataGrid.CurrentPageIndex -= 1;

                       }

                       break;

                   case "last":

                       MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);

                       break;

                   default:

                       MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg);

                       break;

              }

              BindGrid();

              ShowStats();

 

             

         }

         public void BindGrid()

         {

             

              DataSet ds  = new DataSet();

              OleDbDataAdapter adapter  = new OleDbDataAdapter("Select * from news", obj.link);

              adapter.Fill(ds, "Document");

              MyDataGrid.DataSource = ds.Tables["Document"].DefaultView;

              MyDataGrid.DataBind();

              ShowStats();

         }

         public void MyDataGrid_Page(object sender, DataGridPageChangedEventArgs e)

         {

              int startIndex ;

              startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize;

              MyDataGrid.CurrentPageIndex = e.NewPageIndex;

              BindGrid();

              ShowStats();

 

         }

 

        

         #region Web 窗体设计器生成的代码

         override protected void OnInit(EventArgs e)

         {

              //

              // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

              //

              InitializeComponent();

              base.OnInit(e);

         }

        

         /// <summary>

         /// 设计器支持所需的方法 - 不要使用代码编辑器修改

         /// 此方法的内容。

         /// </summary>

         private void InitializeComponent()

         {   

              this.Load += new System.EventHandler(this.Page_Load);

 

         }

         #endregion

 

    

 

         private  void BindPag()

         {

              System.Web.UI.WebControls.ListItem li=new ListItem();

              int i;

              for(i=1;i<=this.MyDataGrid.PageCount;i++)

              {

              //li.Text =i.ToString(); 这里如果注释去掉,在显示DropDownList1的时候就会有两个1值也是1这里有些不明白!

              li.Value=i.ToString();

              this.DropDownList1 .Items.Add(li);

              }

              this.DropDownList1.DataBind();

         }

 

 

    

     }

}

---------------cs end-------------------------------------------------------
-------------aspx start-----------------------------------------------------

   </p>
  </form>
 </body>
</HTML>
------------------aspx end -------------------------------------

相关文章: