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

📄 webform1.aspx.vb

📁 Visual Basic.NET应用编程150例
💻 VB
字号:
Public Class WebForm1
    Inherits System.Web.UI.Page
    Private CurrentPage As Integer

    Protected WithEvents cmdNext As System.Data.SqlClient.SqlCommand
    Protected WithEvents cmdPrevious As System.Data.SqlClient.SqlCommand
    Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton
    Protected WithEvents btnPrevious As System.Web.UI.WebControls.LinkButton
    Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
    Protected WithEvents SqlConnection1 As System.Data.SqlClient.SqlConnection

#Region " Web 窗体设计器生成的代码 "

    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection()
        Me.cmdNext = New System.Data.SqlClient.SqlCommand()
        Me.cmdPrevious = New System.Data.SqlClient.SqlCommand()
        '
        'SqlConnection1
        '
        Me.SqlConnection1.ConnectionString = "data source=ylm;initial catalog=Northwind;integrated security=SSPI;persist securi" & _
        "ty info=False;workstation id=YLM;packet size=4096"
        '
        'cmdNext
        '
        Me.cmdNext.CommandText = "SELECT TOP 10 CustomerID, CompanyName, City FROM Customers WHERE (CustomerID > @c" & _
        "ustomerid) ORDER BY CustomerID"
        Me.cmdNext.Connection = Me.SqlConnection1
        Me.cmdNext.Parameters.Add(New System.Data.SqlClient.SqlParameter("@customerid", System.Data.SqlDbType.NVarChar, 5, "CustomerID"))
        '
        'cmdPrevious
        '
        Me.cmdPrevious.CommandText = "SELECT TOP 10 CustomerID, CompanyName, City FROM Customers WHERE (CustomerID >= @" & _
        "customerid) ORDER BY CustomerID"
        Me.cmdPrevious.Connection = Me.SqlConnection1
        Me.cmdPrevious.Parameters.Add(New System.Data.SqlClient.SqlParameter("@customerid", System.Data.SqlDbType.NVarChar, 5, "CustomerID"))

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles MyBase.Load
        If Not Page.IsPostBack Then
            cmdNext.Parameters("@customerid").Value = ""
            CurrentPage = 0
            FillGrid(cmdNext)
            '初始化页
        End If

    End Sub



    Private Sub FillGrid(ByVal currentSqlCommand As SqlClient.SqlCommand)
        Dim dr As SqlClient.SqlDataReader
        SqlConnection1.Open()
        dr = currentSqlCommand.ExecuteReader()
        DataGrid1.DataSource = dr
        DataGrid1.DataBind()
        dr.Close()
        SqlConnection1.Close()
        ViewState("CurrentPage") = CurrentPage
        ViewState(CurrentPage.ToString) = DataGrid1.Items(0).Cells(0).Text
        '向视图状态中存储页码、当前页第一行的CustomerID列的值
        If DataGrid1.Items.Count < DataGrid1.PageSize Then
            btnNext.Enabled = False
        End If
        '如果网格中的记录不足设置的页大小(10)条则说明没有下一页了
    End Sub


    Private Sub btnNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles btnNext.Click
        CurrentPage = CType(ViewState("CurrentPage"), Integer)
        '得到当前页码
        CurrentPage += 1
        '页码加1
        Dim lastid As String = DataGrid1.Items(9).Cells(0).Text
        '从网格中获得最后一行CustomerID列的值
        cmdNext.Parameters("@customerid").Value = lastid
        '设置@customerid参数的值 
        FillGrid(cmdNext)
        '调用FillGrid方法使用cmdNext命令获得的记录填充网格
    End Sub

    Private Sub btnPrevious_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles btnPrevious.Click
        btnNext.Enabled = True
        CurrentPage = CType(ViewState("CurrentPage"), Integer)
        CurrentPage -= 1
        If CurrentPage >= 0 Then
            Dim firstid As String
            firstid = CType(ViewState(CurrentPage.ToString), String)
            cmdPrevious.Parameters("@customerid").Value = firstid
            FillGrid(cmdPrevious)
        End If
    End Sub
End Class

⌨️ 快捷键说明

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