代码一:
<form runat="server"><asp:DataGrid ID="infoList" runat="server"
AllowPaging="True"
PageSize="5"
PagerStyle-HorizontalAlign="Right"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/></form>代码二:
dim myDs as DataSet =mySql.SelectFromDb("conn")
infoList.DataSource=myDs 
infoList.Databind()能显示第一页,下面也有页码的链接,但是点击以后却还是显示第一页,不能显示其他页面。
如何解决,请教高手。另,是否有DataGrid的组件可以提供一下代码?Vb的

解决方案 »

  1.   

    AllowPaging = "true"
    在  DataGrid的PageIndexChange事件里加上:
    this.infoList.CurrentPageIndex = e.NewPageIndex;
      

  2.   

    private void ProductGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
         ProductGrid.DataSource = ds; 
         ProductGrid.DataBind();
         ProductGrid.CurrentPageIndex =e.NewPageIndex;
    }
      

  3.   

    将AllowPaging设置为"True"private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    DataGrid1.CurrentPageIndex=e.NewPageIndex;
    BindGrid();
    }
      

  4.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=B12283DE-DB20-4322-ACCC-12724442808A
      

  5.   

    http://www.microsoft.com/china/MSDN/library/WebServices/ASP.NET/CreatingaPageableSortableDataGrid.mspx
      

  6.   

    HTML:
    l  添加一个DataGrid,命名为dgOrder。
    l  添加了一个模板列,模板列里放一个名为Cb的CheckBox控件。此列用来实现选择
    l  为要排序的每个列加上排序表达式SortExpression。
    l  利用列的DataFormatString来格式化列,象DataFormatString="{0:d}"显示日期格式。
    l  设置PageSize="15"每页显示15行数据,AllowPaging="True" 为允许分页 。整个HTML页代码: 
    <form id="Form1" method="post" runat="server">
    <asp:datagrid id="dgOrder" runat="server" Height="515px" Width="718px" AutoGenerateColumns="False" AllowSorting="True" CellPadding="4" BorderWidth="1px" BorderColor="#A0ABEB" PageSize="15" BorderStyle="Solid" BackColor="White" GridLines="Vertical" ForeColor="Black" AllowPaging="True" ShowFooter="True">
    <SelectedItemStyle ForeColor="White" BackColor="Black"></SelectedItemStyle>
    <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
    <HeaderStyle HorizontalAlign="Center" ForeColor="White" BorderColor="#6876C5" BackColor="#6876C5"></HeaderStyle>
    <FooterStyle ForeColor="White" BackColor="#6876C5"></FooterStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <FONT face="">
    <asp:CheckBox id="Cb" runat="server"></asp:CheckBox></FONT>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="orderid" SortExpression="orderid" HeaderText="ID">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="ShipCountry" SortExpression="ShipCountry" HeaderText="ShipCountry">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="ShippedDate" SortExpression="ShippedDate" HeaderText="ShippedDate" DataFormatString="{0:d}">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="Freight" SortExpression="Freight" HeaderText="Freight">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="ShipAddress" SortExpression="ShipAddress" HeaderText="ShipAddress">
    <HeaderStyle Width="480px"></HeaderStyle>
    </asp:BoundColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Center" ForeColor="Black" Position="TopAndBottom" BackColor="White" Mode="NumericPages"></PagerStyle>
    </asp:datagrid>
    </form>
      

  7.   

    <form id="Form1" method="post" runat="server">
    <asp:datagrid id="dgOrder" runat="server" Height="515px" Width="718px" AutoGenerateColumns="False" AllowSorting="True" CellPadding="4" BorderWidth="1px" BorderColor="#A0ABEB" PageSize="15" BorderStyle="Solid" BackColor="White" GridLines="Vertical" ForeColor="Black" AllowPaging="True" ShowFooter="True">
    <SelectedItemStyle ForeColor="White" BackColor="Black"></SelectedItemStyle>
    <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
    <HeaderStyle HorizontalAlign="Center" ForeColor="White" BorderColor="#6876C5" BackColor="#6876C5"></HeaderStyle>
    <FooterStyle ForeColor="White" BackColor="#6876C5"></FooterStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <FONT face="">
    <asp:CheckBox id="Cb" runat="server"></asp:CheckBox></FONT>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="orderid" SortExpression="orderid" HeaderText="ID">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="ShipCountry" SortExpression="ShipCountry" HeaderText="ShipCountry">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="ShippedDate" SortExpression="ShippedDate" HeaderText="ShippedDate" DataFormatString="{0:d}">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="Freight" SortExpression="Freight" HeaderText="Freight">
    <HeaderStyle Width="180px"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="ShipAddress" SortExpression="ShipAddress" HeaderText="ShipAddress">
    <HeaderStyle Width="480px"></HeaderStyle>
    </asp:BoundColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Center" ForeColor="Black" Position="TopAndBottom" BackColor="White" Mode="NumericPages"></PagerStyle>
    </asp:datagrid>
    </form>
      

  8.   

    上面的发重了!'得到数据视图,参数为要排序的列
    Private Function GetDv(ByVal strSort As String) As DataView
            '定义数据库连接
            Dim dv As DataView
            Dim CN As New SqlConnection()
            Try
                '初始化连接字符串
                CN.ConnectionString = "data source=pmserver;
                initial catalog=Northwind;persist security info=False;user id=sa;Password=sa;"
                CN.Open()
    '从NorthWind得到orders表的数据
                Dim adp As SqlDataAdapter = New SqlDataAdapter("select * from orders", CN)
                Dim ds As New DataSet()
                adp.Fill(ds)
                '得到数据视图
                dv = ds.Tables(0).DefaultView
            Catch ex As Exception
    #If DEBUG Then
                Session("Error") = ex.ToString()
                Response.Redirect("../error.aspx")        '跳转程序的公共错误处理页面
    #End If
            Finally
                '关闭连接
                CN.Close()
            End Try
            '排序
            dv.Sort = strSort
            Return dv
        End Function    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
        Handles MyBase.Load
            If Not IsPostBack Then
                ViewState("strSort") = "orderid"
                dgOrder.DataSource = GetDv(ViewState("strSort").ToString())
                dgOrder.DataBind()
            End If
        End Sub
    '排序
        Private Sub dgOrder_SortCommand(ByVal source As Object, 
        ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles dgOrder.SortCommand
            dgOrder.CurrentPageIndex = 0
       '得到排序的列
            ViewState("strSort") = e.SortExpression.ToString()
            dgOrder.DataSource = GetDv(ViewState("strSort").ToString())
            dgOrder.DataBind()
        End Sub '分页
        Private Sub dgOrder_PageIndexChanged(ByVal source As Object, 
        ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgOrder.PageIndexChanged
       '得到分页的页号
            dgOrder.CurrentPageIndex = e.NewPageIndex
            dgOrder.DataSource = GetDv(ViewState("strSort").ToString())
            dgOrder.DataBind()
        End Sub 
      

  9.   

    说实话,到最后我还是没有解决。
    我用了这种办法:AllowPaging = "true"
    在  DataGrid的PageIndexChange事件里加上:
    this.infoList.CurrentPageIndex = e.NewPageIndex;结果没有任何效果。
    不知道是不是跟我用的Asp.Net2.0 beta有关系。
      

  10.   

    设计时,把这个属性AllowPaging = "true"
    DataGrid的PageIndexChange事件里加上:
    this.infoList.CurrentPageIndex = e.NewPageIndex;
      

  11.   

    在  DataGrid的PageIndexChange事件里加上:
    this.infoList.CurrentPageIndex = e.NewPageIndex;
    然后再绑定一次
    dim myDs as DataSet =mySql.SelectFromDb("conn")
    infoList.DataSource=myDs 
    infoList.Databind()
      

  12.   

    翻页代码没有写
    infoList.currentpageindex=e.newpageindex
    然后再绑定infolist
      

  13.   

    <form runat="server"><asp:DataGrid ID="infoList" runat="server"
    AllowPaging="True"
    PageSize="5"
    PagerStyle-HorizontalAlign="Right"
    BorderColor="black"
    BorderWidth="1"
    GridLines="Both"
    CellPadding="3"
    CellSpacing="0"
    Font-Name="Verdana"
    Font-Size="8pt"
    HeaderStyle-BackColor="#aaaadd"
    AlternatingItemStyle-BackColor="#eeeeee"
    />
    </form>public void PageIndexChange(Object sender,DataGridEventArgs e)
    {
      infoList.CurrentPageIndex = e.NewPageIndex;
    }