我把代码也贴出来吧:DataGridPaging.aspx<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridPaging.aspx.vb" Inherits="DataGridPaging"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" runat="server">
<asp:datagrid id="MyDataGrid" runat="server" AlternatingItemStyle-BackColor="#eeeeee"
HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana" CellSpacing="0"
CellPadding="3" GridLines="Both" BorderWidth="1" BorderColor="black"
OnPageIndexChanged="MyDataGrid_Page" PagerStyle-HorizontalAlign="Right"
PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="True">
<AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
<HeaderStyle BackColor="#AAAADD"></HeaderStyle>
<PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
<p style="font-size:9pt">
<asp:label id="lblPageCount" runat="server"></asp:label>
<asp:label id="lblCurrentIndex" runat="server"></asp:label>
<asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="0">
</asp:linkbutton>
<asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="prev">
</asp:linkbutton>
<asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="next">
</asp:linkbutton>
<asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="last">
</asp:linkbutton>
</p>
</form>
</body>
</HTML>
===============================================================
DataGridPaging.aspx.vb
---------------------------------
Imports System.Data.SqlClient
Imports System.Data
Imports System.Web.UIPublic Class DataGridPaging
Inherits System.Web.UI.Page Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid
Protected WithEvents btnFirst As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnPrev As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnLast As System.Web.UI.WebControls.LinkButton
Protected WithEvents lblCurrentIndex As System.Web.UI.WebControls.Label
Protected WithEvents lblPageCount As System.Web.UI.WebControls.Label
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid#Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub#End Region Private Sub Page_Load(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles MyBase.Load
btnFirst.Text = "最首页"
btnPrev.Text = "前一页"
btnNext.Text = "下一页"
btnLast.Text = "最后页"
OpenDatabase()
BindGrid()
End Sub
Sub MyDataGrid_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
Dim startIndex As Integer
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
MyDataGrid.CurrentPageIndex = e.NewPageIndex
BindGrid()
ShowStats()
End Sub Sub BindGrid()
Dim myConnection As SqlConnection = cn
Dim ds As DataSet = New DataSet()
Dim adapter As SqlDataAdapter = New SqlDataAdapter("Select * from Orders", myConnection)
adapter.Fill(ds, "Orders")
MyDataGrid.DataSource = ds.Tables("Orders").DefaultView
MyDataGrid.DataBind()
ShowStats() End Sub Sub PagerButtonClick(ByVal sender As Object, ByVal e As EventArgs)
'used by external paging UI
Dim arg As String = sender.CommandArgument Select Case arg
Case "next"
If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
MyDataGrid.CurrentPageIndex += 1
End If
Case "prev"
If (MyDataGrid.CurrentPageIndex > 0) Then
MyDataGrid.CurrentPageIndex -= 1
End If
Case "last"
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1)
Case Else
'page number
MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End Sub Sub ShowStats()
lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页"
lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页"
End Sub Public cn As New SqlClient.SqlConnection()
Public Sub OpenDatabase()
cn.ConnectionString = "Server=.;Database=NorthWind;User Id=sa;Password=;"
cn.Open()
End Sub
End Class
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" runat="server">
<asp:datagrid id="MyDataGrid" runat="server" AlternatingItemStyle-BackColor="#eeeeee"
HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana" CellSpacing="0"
CellPadding="3" GridLines="Both" BorderWidth="1" BorderColor="black"
OnPageIndexChanged="MyDataGrid_Page" PagerStyle-HorizontalAlign="Right"
PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="True">
<AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
<HeaderStyle BackColor="#AAAADD"></HeaderStyle>
<PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
<p style="font-size:9pt">
<asp:label id="lblPageCount" runat="server"></asp:label>
<asp:label id="lblCurrentIndex" runat="server"></asp:label>
<asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="0">
</asp:linkbutton>
<asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="prev">
</asp:linkbutton>
<asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="next">
</asp:linkbutton>
<asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-size="8pt" ForeColor="navy" CommandArgument="last">
</asp:linkbutton>
</p>
</form>
</body>
</HTML>
===============================================================
DataGridPaging.aspx.vb
---------------------------------
Imports System.Data.SqlClient
Imports System.Data
Imports System.Web.UIPublic Class DataGridPaging
Inherits System.Web.UI.Page Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid
Protected WithEvents btnFirst As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnPrev As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnLast As System.Web.UI.WebControls.LinkButton
Protected WithEvents lblCurrentIndex As System.Web.UI.WebControls.Label
Protected WithEvents lblPageCount As System.Web.UI.WebControls.Label
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid#Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub#End Region Private Sub Page_Load(ByVal sender As System.Object,_
ByVal e As System.EventArgs) Handles MyBase.Load
btnFirst.Text = "最首页"
btnPrev.Text = "前一页"
btnNext.Text = "下一页"
btnLast.Text = "最后页"
OpenDatabase()
BindGrid()
End Sub
Sub MyDataGrid_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
Dim startIndex As Integer
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
MyDataGrid.CurrentPageIndex = e.NewPageIndex
BindGrid()
ShowStats()
End Sub Sub BindGrid()
Dim myConnection As SqlConnection = cn
Dim ds As DataSet = New DataSet()
Dim adapter As SqlDataAdapter = New SqlDataAdapter("Select * from Orders", myConnection)
adapter.Fill(ds, "Orders")
MyDataGrid.DataSource = ds.Tables("Orders").DefaultView
MyDataGrid.DataBind()
ShowStats() End Sub Sub PagerButtonClick(ByVal sender As Object, ByVal e As EventArgs)
'used by external paging UI
Dim arg As String = sender.CommandArgument Select Case arg
Case "next"
If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
MyDataGrid.CurrentPageIndex += 1
End If
Case "prev"
If (MyDataGrid.CurrentPageIndex > 0) Then
MyDataGrid.CurrentPageIndex -= 1
End If
Case "last"
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1)
Case Else
'page number
MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End Sub Sub ShowStats()
lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页"
lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页"
End Sub Public cn As New SqlClient.SqlConnection()
Public Sub OpenDatabase()
cn.ConnectionString = "Server=.;Database=NorthWind;User Id=sa;Password=;"
cn.Open()
End Sub
End Class
<%@ Import namespace="System.Data.SqlClient"%>
<%@ Import namespace="System.Web.UI"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Datagrid完整分页程序---原作:孟子E章</title>
</HEAD>
<body ms_positioning="Grid_layout">
<form runat="server" name="form1">
<asp:datagrid ID="mydatagrid" runat="server" AlternatingItemStyle-BackColor="#eeeeee"
HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdata" CellSpacing="0"
CellPadding="3" GridLines="Both" BorderWidth="1" BorderColor="#000000" onpageIndexChanged="Mydatagrid_page"
Pagerstyle-horizontalAlign="right" PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="true">
<alternatingitemstyle BackColor="#eeeeee"></alternatingitemstyle>
<headerstyle BackColor="#AAAADD"></headerstyle>
<pagerstyle HorizontalAlign="right" Mode="NumericPages"></pagerstyle>
<Columns>
<asp:BoundColumn HeaderText="标题" DataField="Title" HeaderStyle-Width="480px">
</asp:BoundColumn>
<asp:BoundColumn HeaderText="发表日期" DataField="putdate" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}">
</asp:BoundColumn>
</Columns>
</asp:datagrid>
<p style="font-size:9pt">
<asp:label ID="lblPagecount" runat="server"></asp:label>
<asp:label ID="lblPageCurrentIndex" runat="server"></asp:label>
<asp:linkbutton ID="btnFirst" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" font-size="8pt" ForeColor="navy" CommandArgument="0"> </asp:linkbutton>
<asp:linkbutton ID="btnPrev" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" commandArgument="Prev"> </asp:linkbutton>
<asp:linkbutton ID="btnNext" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" commandArgument="Next"> </asp:linkbutton>
<asp:linkbutton ID="btnLast" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" CommandArgument="Last"> </asp:linkbutton>
</p>
</form>
</body>
</html>
<script language="VB" runat="server">
Public Class DataGridPaging
Inherits System.Web.UI.Page
Protected WithEvents MyDatagrid As System.Web.UI.WebControls.Datagrid
Protected WithEvents btnFirst As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnPrev As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnLast As System.Web.UI.WebControls.LinkButton
Protected WithEvents lblCurrentIndex As System.Web.UI.WebControls.Label
Protected WithEvents lblPagecount As System.Web.UI.WebControls.Label
Protected WithEvents Datagrid1 As System.Web.UI.WebControls.Datagrid
#Region "Web Form Designer Generated Code"
'This call is required by Web Form Designer
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End subPrivate Sub Page_init(Byval sender as System.Object,Byval e as System.Args) Handles Mybase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub#End RegionPrivate Sub Page_load(Byval sender as Sytem.Objectm Byval E as System.Args) Handles Mybase.Load
btnFirst.Text="第一页"
btnPrev.Text="上一页"
btnNext.Text="下一页"
btnLast.Text="最末页"
OpenDatabase()
BindDatagrid()
End subSub MyDataGrid_Page(Byval sender as object,Byval e as DatagridPageChangeEventArgs)
Dim startIndex as Integer
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
MyDatagrid.CurrentPageIndex = E as NewPageIndex
BindGrid()
ShowStats()
End subSub BindGrid()
Dim myConnection As SqlConnection=cn
Dim ds As DataSet = New DataSet()
Dim adapter as SqlDataAdapter = New SqlDataAdapter("Select * from mdata",myConnection)
adapter.Fill(ds,"mdata")
Mydatagrid.DataSource=ds.Tables("mdata").DefaultView
MyDataGrid.DataBind()
ShowStats()
End subSub PagerButtonClick(ByVal sender as Object,ByVal e as EventArgs)
'Used By external Paging UI
Dim arg as String = sender.CommandArgument
Select Case arg
Case "next"
If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
MydataGrid.CurrentPageIndex +=1
End if
Case "prev"
If (MyDataGrid.CurrentPageIndex >0 ) Then
MyDataGrid.CurrentPageIndex -=1
End if
Case "last"
MyDatagrid.CurrentPageIndex = (MyDatagrid.Pagecount - 1)
Case Else
'Page number
MyDataGrid.CurrentPageIndex = System.Conver.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End subSub ShowStats()
lblCurrentIndex.Text = "第" + (MyDataGrid.CurrentPageIndex + 1).ToString() + "页"
lblPageCount.Text = "总共" + MyDataGrid.PageCount.Tostring() + "页"
End subPublic cn As New SqlClient.SqlConnection()Public Sub OpenDatabase()
cn.ConnectionString = "Server=liuquan;Database=web;User Id=sa;Password=92014011"
cn.Open()
End Sub
</script>运行的时候又出现下面的现象:
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: BC30456: “__control2”不是“ASP.datagrids_aspx.DataGridPaging”的成员。源错误: 行 1: <%@ Import namespace="System.Data"%>
行 2: <%@ Import namespace="System.Data.SqlClient"%>
行 3: <%@ Import namespace="System.Web.UI"%>
----------------------
麻烦各位老大帮我看看,到底是错在了哪里,谢谢各位了!
DataGridPaging.aspx
文件,
再把我的DataGridPaging.aspx里的文件内容除<%@%>行的内容不拷贝,其他的拷贝。另外,如果你把代码直接放在aspx里的话
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridPaging.aspx.vb" Inherits="DataGridPaging"%>Codebehind就没有用了、可以参考
http://dotnet.aspx.cc/Exam/UltraDataGrid.zip
里的文件头的写法
<%@ Import Namespace = "System" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace = "System.Data.SqlClient"%>
<%@ Import Namespace = "System.Web.UI"%>
<%@ Import Namespace = "System.Web.UI.WebControls"%>
<%@ Import Namespace = "System.Web.UI.HtmlControls"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Datagrid完整分页程序---原作:孟子E章</title>
</HEAD>
<body ms_positioning="Grid_layout">
<form runat="server">
<asp:DataGrid ID="mydatagrid" runat="server" AlternatingItemStyle-BackColor="#eeeeee"
HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdata" CellSpacing="0"
CellPadding="3" GridLines="Both" BorderWidth="1" BorderColor="#000000" OnPageIndexChanged="Mydatagrid_Page"
Pagerstyle-horizontalAlign="right" PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="true">
<alternatingitemstyle BackColor="#eeeeee"></alternatingitemstyle>
<headerstyle BackColor="#AAAADD"></headerstyle>
<pagerstyle HorizontalAlign="right" Mode="NumericPages"></pagerstyle>
<Columns>
<asp:BoundColumn HeaderText="标题" DataField="Title" HeaderStyle-Width="480px">
</asp:BoundColumn>
<asp:BoundColumn HeaderText="发表日期" DataField="createtime" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}">
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
<p style="font-size:9pt">
<asp:label ID="lblPagecount" runat="server"></asp:label>
<asp:label ID="lblPageCurrentIndex" runat="server"></asp:label>
<asp:linkbutton ID="btnFirst" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" font-size="8pt" ForeColor="navy" CommandArgument="0"> </asp:linkbutton>
<asp:linkbutton ID="btnPrev" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" commandArgument="Prev"> </asp:linkbutton>
<asp:linkbutton ID="btnNext" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" commandArgument="Next"> </asp:linkbutton>
<asp:linkbutton ID="btnLast" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" CommandArgument="Last"> </asp:linkbutton>
</p>
</form>
</body>
</html>
<script language="VB" runat="server">
Sub Page_load(sender As Object, e As EventArgs)
btnFirst.Text="第一页"
btnPrev.Text="上一页"
btnNext.Text="下一页"
btnLast.Text="最末页"
OpenDatabase()
BindGrid()
End subSub MyDataGrid_Page(sender as Object, e As DataGridPageChangedEventArgs)
Dim startIndex as Integer
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
MyDatagrid.CurrentPageIndex = e.NewPageIndex
BindGrid()
ShowStats()
End subSub BindGrid()
Dim myConnection As SqlConnection=cn
Dim ds As DataSet = New DataSet()
Dim adapter as SqlDataAdapter = New SqlDataAdapter("Select * from BaseObject",myConnection)
adapter.Fill(ds,"BaseObject")
Mydatagrid.DataSource=ds.Tables("BaseObject").DefaultView
MyDataGrid.DataBind()
ShowStats()
End subSub PagerButtonClick(ByVal sender as Object,ByVal e as EventArgs)
'Used By external Paging UI
Dim arg as String = sender.CommandArgument
Select Case arg
Case "next"
If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
MydataGrid.CurrentPageIndex +=1
End if
Case "prev"
If (MyDataGrid.CurrentPageIndex >0 ) Then
MyDataGrid.CurrentPageIndex -=1
End if
Case "last"
MyDatagrid.CurrentPageIndex = (MyDatagrid.Pagecount - 1)
Case Else
'Page number
MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End subSub ShowStats()
lblPageCurrentIndex.Text = "第" + (MyDataGrid.CurrentPageIndex + 1).ToString() + "页"
lblPageCount.Text = "总共" + MyDataGrid.PageCount.Tostring() + "页"
End subPublic cn As New SqlClient.SqlConnectionPublic Sub OpenDatabase()
cn.ConnectionString = "Server=xxx;Database=xxx;User Id=sa;Password=xxx"
cn.Open()
End Sub</script>
注意修改链接字符串和表名,绑定的字段名字<%@ Page Language="VB" AutoEventWireup="True" Debug="true"%>
<%@ Import Namespace = "System" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace = "System.Data.SqlClient"%>
<%@ Import Namespace = "System.Web.UI"%>
<%@ Import Namespace = "System.Web.UI.WebControls"%>
<%@ Import Namespace = "System.Web.UI.HtmlControls"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Datagrid完整分页程序---原作:孟子E章</title>
</HEAD>
<body ms_positioning="Grid_layout">
<form runat="server">
<asp:DataGrid ID="mydatagrid" runat="server" AlternatingItemStyle-BackColor="#eeeeee"
HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdata" CellSpacing="0"
CellPadding="3" GridLines="Both" BorderWidth="1" BorderColor="#000000" OnPageIndexChanged="Mydatagrid_Page"
Pagerstyle-horizontalAlign="right" PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="true">
<alternatingitemstyle BackColor="#eeeeee"></alternatingitemstyle>
<headerstyle BackColor="#AAAADD"></headerstyle>
<pagerstyle HorizontalAlign="right" Mode="NumericPages"></pagerstyle>
<Columns>
<asp:BoundColumn HeaderText="标题" DataField="ProductName" HeaderStyle-Width="480px">
</asp:BoundColumn>
<asp:BoundColumn HeaderText="发表日期" DataField="ProductID" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}">
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
<p style="font-size:9pt">
<asp:label ID="lblPagecount" runat="server"></asp:label>
<asp:label ID="lblPageCurrentIndex" runat="server"></asp:label>
<asp:linkbutton ID="btnFirst" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" font-size="8pt" ForeColor="navy" CommandArgument="0"> </asp:linkbutton>
<asp:linkbutton ID="btnPrev" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" commandArgument="Prev"> </asp:linkbutton>
<asp:linkbutton ID="btnNext" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" commandArgument="Next"> </asp:linkbutton>
<asp:linkbutton ID="btnLast" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" CommandArgument="Last"> </asp:linkbutton>
</p>
</form>
</body>
</html>
<script language="VB" runat="server">
Sub Page_load(sender As Object, e As EventArgs)
btnFirst.Text="第一页"
btnPrev.Text="上一页"
btnNext.Text="下一页"
btnLast.Text="最末页"
OpenDatabase()
BindGrid()
End subSub MyDataGrid_Page(sender as Object, e As DataGridPageChangedEventArgs)
Dim startIndex as Integer
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
MyDatagrid.CurrentPageIndex = e.NewPageIndex
BindGrid()
ShowStats()
End subSub BindGrid()
Dim myConnection As SqlConnection=cn
Dim ds As DataSet = New DataSet()
Dim adapter as SqlDataAdapter = New SqlDataAdapter("Select * from Products",myConnection)
adapter.Fill(ds,"Products")
Mydatagrid.DataSource=ds.Tables("Products").DefaultView
MyDataGrid.DataBind()
ShowStats()
End subSub PagerButtonClick(sender as Object,e as EventArgs)
Dim arg as String = sender.CommandArgument
Select Case arg
Case "Next"
If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
MydataGrid.CurrentPageIndex +=1
End if
Case "Prev"
If (MyDataGrid.CurrentPageIndex >0 ) Then
MyDataGrid.CurrentPageIndex -=1
End if
Case "Last"
MyDatagrid.CurrentPageIndex = (MyDatagrid.Pagecount - 1)
Case Else
MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End subSub ShowStats()
lblPageCurrentIndex.Text = "第" + (MyDataGrid.CurrentPageIndex + 1).ToString() + "页"
lblPageCount.Text = "总共" + MyDataGrid.PageCount.Tostring() + "页"
End subPublic cn As New SqlClient.SqlConnectionPublic Sub OpenDatabase()
cn.ConnectionString = "Server=(local)\NetSDK;Database=NorthWind;User Id=sa;Password="
cn.Open()
End Sub</script>
<%@ Import Namespace = "System" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace = "System.Data.SqlClient"%>
<%@ Import Namespace = "System.Web.UI"%>
<%@ Import Namespace = "System.Web.UI.WebControls"%>
<%@ Import Namespace = "System.Web.UI.HtmlControls"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Datagrid完整分页程序---原作:孟子E章</title>
</HEAD>
<body ms_positioning="Grid_layout">
<form runat="server">
<asp:DataGrid ID="mydatagrid" runat="server" AutoGenerateColumns="false"
AlternatingItemStyle-BackColor="#eeeeee"
HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdata" CellSpacing="0"
CellPadding="3" GridLines="Both" BorderWidth="1" BorderColor="#000000" OnPageIndexChanged="Mydatagrid_Page"
Pagerstyle-horizontalAlign="right" PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="true">
<alternatingitemstyle BackColor="#eeeeee"></alternatingitemstyle>
<headerstyle BackColor="#AAAADD"></headerstyle>
<pagerstyle HorizontalAlign="right" Mode="NumericPages"></pagerstyle>
<Columns>
<asp:BoundColumn HeaderText="产品编号" DataField="ProductID" HeaderStyle-Width="480px">
</asp:BoundColumn>
<asp:BoundColumn HeaderText="产品名字" DataField="ProductName">
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
<p style="font-size:9pt">
<asp:label ID="lblPagecount" runat="server"></asp:label>
<asp:label ID="lblPageCurrentIndex" runat="server"></asp:label>
<asp:linkbutton ID="btnFirst" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" font-size="8pt" ForeColor="navy" CommandArgument="0"> </asp:linkbutton>
<asp:linkbutton ID="btnPrev" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" commandArgument="Prev"> </asp:linkbutton>
<asp:linkbutton ID="btnNext" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" commandArgument="Next"> </asp:linkbutton>
<asp:linkbutton ID="btnLast" OnClick="PagerButtonClick" runat="server"
Font-Name="verdana" Font-Size="8pt" ForeColor="navy" CommandArgument="Last"> </asp:linkbutton>
</p>
</form>
</body>
</html>
<script language="VB" runat="server">
Sub Page_load(sender As Object, e As EventArgs)
btnFirst.Text="第一页"
btnPrev.Text="上一页"
btnNext.Text="下一页"
btnLast.Text="最末页"
OpenDatabase()
BindGrid()
End subSub MyDataGrid_Page(sender as Object, e As DataGridPageChangedEventArgs)
Dim startIndex as Integer
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
MyDatagrid.CurrentPageIndex = e.NewPageIndex
BindGrid()
ShowStats()
End subSub BindGrid()
Dim myConnection As SqlConnection=cn
Dim ds As DataSet = New DataSet()
Dim adapter as SqlDataAdapter = New SqlDataAdapter("Select * from Products",myConnection)
adapter.Fill(ds,"Products")
Mydatagrid.DataSource=ds.Tables("Products").DefaultView
MyDataGrid.DataBind()
ShowStats()
End subSub PagerButtonClick(sender as Object,e as EventArgs)
Dim arg as String = sender.CommandArgument
Select Case arg
Case "Next"
If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
MydataGrid.CurrentPageIndex +=1
End if
Case "Prev"
If (MyDataGrid.CurrentPageIndex >0 ) Then
MyDataGrid.CurrentPageIndex -=1
End if
Case "Last"
MyDatagrid.CurrentPageIndex = (MyDatagrid.Pagecount - 1)
Case Else
MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End subSub ShowStats()
lblPageCurrentIndex.Text = "第" + (MyDataGrid.CurrentPageIndex + 1).ToString() + "页"
lblPageCount.Text = "总共" + MyDataGrid.PageCount.Tostring() + "页"
End subPublic cn As New SqlClient.SqlConnectionPublic Sub OpenDatabase()
cn.ConnectionString = "Server=(local)\NetSDK;Database=NorthWind;User Id=sa;Password="
cn.Open()
End Sub
</script>
大家不要笑我, .net我刚开始学,我相信凭我的努力以及各位大哥们的帮助,我一定会成功的!