<%@ Import Namespace="System.Data" %><html>
 
<script language="C#" runat="server">    ICollection CreateDataSource() {
        DataTable dt = new DataTable();
        DataRow dr;        dt.Columns.Add(new DataColumn("整数值", typeof(Int32)));
        dt.Columns.Add(new DataColumn("字符串值", typeof(string)));
        dt.Columns.Add(new DataColumn("日期时间值", typeof(string)));
        dt.Columns.Add(new DataColumn("布尔值", typeof(bool)));        for (int i = 0; i < 200; i++) {
            dr = dt.NewRow();            dr[0] = i;
            dr[1] = "项 " + i.ToString();
            dr[2] = DateTime.Now.ToShortDateString();
            dr[3] = (i % 2 != 0) ? true : false;            dt.Rows.Add(dr);
        }        DataView dv = new DataView(dt);
        return dv;
    }    void Page_Load(Object sender, EventArgs e) {
        if (chk1.Checked) {
            MyDataGrid.PagerStyle.Mode=PagerMode.NumericPages;
        }
        else {
            MyDataGrid.PagerStyle.Mode=PagerMode.NextPrev;
        }        BindGrid();
    }    void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e) {
        MyDataGrid.CurrentPageIndex = e.NewPageIndex;        BindGrid();
    }    void BindGrid() {
        MyDataGrid.DataSource = CreateDataSource();
        MyDataGrid.DataBind();
        ShowStats();
    }    void ShowStats() {
        lblCurrentIndex.Text = "CurrentPageIndex 为 " + MyDataGrid.CurrentPageIndex;
        lblPageCount.Text = "PageCount 为 " + MyDataGrid.PageCount;
    }
</script><body>    <h3><font face="宋体">DataGrid 的基本分页</font></h3>    <form runat=server>      <ASP:DataGrid id="MyDataGrid" runat="server"
        AllowPaging="True"
        PageSize="10"
        PagerStyle-Mode="NumericPages"
        PagerStyle-HorizontalAlign="Right"
        PagerStyle-NextPageText="下一页"
        PagerStyle-PrevPageText="上一页"
        OnPageIndexChanged="MyDataGrid_Page"
        BorderColor="black"
        BorderWidth="1"
        GridLines="Both"
        CellPadding="3"
        CellSpacing="0"
        Font-Name="宋体"
        Font-Size="8pt"
        HeaderStyle-BackColor="#aaaadd"
        AlternatingItemStyle-BackColor="#eeeeee"
        />      <p>
      <asp:Checkbox id="chk1" runat="server"
        Text="显示数值页导航按钮"
        Font-Name="Verdana"
        Font-Size="8pt"
        AutoPostBack="true"
        />      <p>
      <table bgcolor="#eeeeee" cellpadding="6"><tr><td nowrap><font face="宋体" size="-2">        <asp:Label id="lblCurrentIndex" runat="server" /><br>
        <asp:Label id="lblPageCount" runat="server" /><br>      </font></td></tr></table>
  </form></body>
</html>

解决方案 »

  1.   

    <%@ Page Language="vb" Debug="true" %><%@Import Namespace="System.Data"%>
    <%@Import Namespace="System.Data.OleDb"%>
    <html>
    <body>
     <Form runat="server">
     <asp:DataGrid 
          AllowPaging="True"
          PageSize="5"
          PagerStyle-HorizontanAlign="Right"
          PagerStyle-NextPageText="下一页"
          PagerStyle-PrevPageText="上一页"
          OnPageindexChanged="ChangePage"
          Headerstyle-BackColor="#AAAADD"
          AlternatingItemStyle-BackColor="#FFFFCD" 
          BorderColor="Black"
          CellPadding="2"
          CellSpacing="0" 
          id="Grid1" runat="server"/>
     </Form>
    </body>
    </html>
    <script language="VB" runat="server">
     Dim startIndex As Integer
     Sub BindGrid()
         Dim Provider,DataBase,ConnStr,SQL As String
         '第一步: 进行数据库的链接
         Provider="Microsoft.Jet.OLEDB.4.0;"
         DataBase=Server.MapPath("Sample.mdb")
         ConnStr="Provider="+Provider+"Data Source="+DataBase
         '第二步:执行SQL指令,选出记录集合
         Dim Cmd As OleDbDataAdapter
         Cmd=New OleDbDataAdapter("Select * From 学生成绩表",ConnStr)
         Dim ds As DataSet=New DataSet()
         Cmd.Fill(ds,"学生成绩表")
         '第三步:将数据集合同DataGrid结合在一起
         Grid1.DataSource=ds.Tables("学生成绩表").DefaultView
         Grid1.DataBind()
     End Sub
     Sub Page_Load(Sender As Object,e As EventArgs)
         If Not IsPostBack Then
                startIndex = 0
         End If
         BindGrid
     End Sub
     Sub ChangePage(Sender As Object,e As DataGridPageChangedEventArgs)
          startIndex = e.NewPageIndex*Grid1.PageSize
          Grid1.CurrentPageIndex = e.NewPageIndex
          BindGrid
     End Sub
    </script>
      

  2.   

    我用vs.net做的,
    我DataGrid1_PageIndexChanged程序在webform.aspx.cs中
    就是死活不执行,好像根本进不了这个事件处理程序中,代理肯定有,vs.net自己生成的。
    真是不知道为什么,哪位高手指点一下。