数据的导航与跳转

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.TextBox go;
        
protected System.Web.UI.WebControls.Label Label1;
        
private OleDbConnection cn = new OleDbConnection();

        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
            btnFirst.Text = "首页";
            btnPrev.Text 
= "前一页";
            btnNext.Text 
= "下一页";
            btnLast.Text 
= "尾页";
            OpenDatabase();
            BindGrid();
        }

        
private void OpenDatabase()
        
{
            cn.ConnectionString 
= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("northwind.mdb");
            cn.Open();
        }

        
private void ShowStats()
        
{
            lblCurrentIndex.Text 
= "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页";
            lblPageCount.Text 
= "总共 " + MyDataGrid.PageCount.ToString() + " 页";
        }


//btnfirst,btnprev,btnnext,btnlast的事件都要设为PagerButtonClick
        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();
        }

        
private bool IsNumberic(string oText)
        
{
            
try
            
{
                
int var1=Convert.ToInt32 (oText);
                
return true;
            }

            
catch
            
{
                
return false;
            }

        }

        
public void goClick(object obj,EventArgs e)
        
{
            
if(go.Text.Trim()!=""&&this.IsNumberic(go.Text.Trim()))
            
{
                
int index=Int32.Parse(go.Text.Trim())-1;
                
if(index>=0 && index<MyDataGrid.PageCount)
                
{
                    MyDataGrid.CurrentPageIndex
=index;
                }

                BindGrid();
                ShowStats();
            }

            
else
            
{
                Response.Write(
"<script>alert(\'跳转不能为空且必须为数字\')</script>");
            }

        }

        
public void BindGrid()
        
{
            OleDbConnection myConnection 
= cn;
            DataSet ds  
= new DataSet();
            OleDbDataAdapter adapter  
= new OleDbDataAdapter("Select customerid,orderdate from orders order by orderid desc", myConnection);
            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();
        }

原文地址:https://www.cnblogs.com/ahuang1118/p/172571.html