⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datagridpage2.aspx

📁 这是《ASP.NET编程实作教程》一书中的源文件 如果有此书的朋友不防下载过来参考
💻 ASPX
字号:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<script language="C#" runat="server">

    //声明表格对象
    DataTable Cart;
    //声明视图对象
    DataView CartView;

    protected void Page_Load(Object sender, EventArgs e) 
    {
        if (Session["DG6_ShoppingCart"] == null)     {
            Cart = new DataTable();
            //建立数据连接
            SqlConnection myConnection = new SqlConnection("server=(local);database=Northwind;Trusted_Connection=yes");
            //创建SqlDataAdapter对象
            SqlDataAdapter myCommand = new SqlDataAdapter("select * from Categories",myConnection);
            //创建DataSet对象
            DataSet ds = new DataSet();
            //将查询结果填充到DataSet对象中
            myCommand.Fill(ds, "Categories");
            Cart=ds.Tables["Categories"];
            Session["DG6_ShoppingCart"] = Cart;      
        }
        else {
            Cart = (DataTable)Session["DG6_ShoppingCart"];
        }
        CartView = new DataView(Cart);
        CartView.Sort = "CategoryID";
        if (!IsPostBack) {
            BindGrid();
        }
    }

    public void BindGrid() {
        MyDataGrid.DataSource = CartView;
        MyDataGrid.DataBind();
    }
    
    void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e) {
        MyDataGrid.CurrentPageIndex = e.NewPageIndex;
        BindGrid();
    }
    
    void PagerButtonClick(Object sender, EventArgs e) {
        //使用自定义的分页链接
        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;
            case ("custom")://当跳转到特定页时
            	int page=Convert.ToInt32(tbPage.Text);
            	if((page<(MyDataGrid.PageCount+1))&&(page>0))
                    MyDataGrid.CurrentPageIndex =page-1; 
                break;      
            default:
                //跳转到一定页
                MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
                break;
        }
        BindGrid();
    }
  
</script>
<body>
  <h3>清单</h3>
  <form runat=server>
  <ASP:DataGrid id="MyDataGrid" runat="server"
        BorderColor="black"
        HeaderStyle-BackColor="#aaaadd"
        AutoGenerateColumns="false"
        AllowPaging="True"
        PageSize="3"
        PagerStyle-HorizontalAlign="Right"
        PagerStyle-Mode="NumericPages"
        OnPageIndexChanged="MyDataGrid_Page">
  	<Columns>
  	    <asp:BoundColumn HeaderText="序号" ReadOnly="true" DataField="CategoryID"/>
            <asp:BoundColumn HeaderText="名称" DataField="CategoryName" />
            <asp:BoundColumn HeaderText="描述" DataField="Description"/>        
        </Columns>
  </asp:DataGrid>
  <p>
      <asp:LinkButton id="btnPrev" runat="server"
        Text="前一页"
        CommandArgument="prev"
        OnClick="PagerButtonClick"/>&nbsp;
        
      <asp:LinkButton id="btnNext" runat="server"
        Text="后一页"
        CommandArgument="next"
        OnClick="PagerButtonClick"/>&nbsp;
        
      <asp:LinkButton id="btnFirst" runat="server"
        Text="第一页"
        CommandArgument="0"
        OnClick="PagerButtonClick"/>&nbsp;
        
      <asp:LinkButton id="btnLast" runat="server"
        Text="最后一页"
        CommandArgument="last"
        OnClick="PagerButtonClick"/>&nbsp;
       
      <asp:LinkButton id="btnLink"  Runat="server"
       Text="跳转到第"
       CommandArgument="custom"
       OnClick="PagerButtonClick"/>  
       
      <asp:TextBox id="tbPage" Text="1" Width="40px" runat="server"/>     
   </form>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -