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

📄 admin_order_list.aspx.vb

📁 《ASP.NET C#程序设计案例教程》
💻 VB
字号:
Imports Microsoft.VisualBasic

Public Class admin_order_list
    Inherits System.Web.UI.Page

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

    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents myDataGrid As System.Web.UI.WebControls.DataGrid
    Protected WithEvents lblPageIndex As System.Web.UI.WebControls.Label

    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
    '不要删除或移动它。
    Private designerPlaceholderDeclaration As System.Object

    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 DataUserLog.IsAdmin() = False Then
            Response.Write("<script language='javascript'>top.document.location='../index.aspx';</script>")
        End If

        If Not Page.IsPostBack Then
            Call myDataBind()          '绑定数据
        End If
    End Sub
    '该过程用于删除行,不过要注意其中会判断是最后一页,且只有一行的情况
    Private Sub myDataGrid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.DeleteCommand
        Dim dbs As New DataBusiness
        Call dbs.DeleteOrder(myDataGrid.DataKeys(e.Item.ItemIndex))

        '下面先判断是否是最后一页,且只有一行的情况
        If myDataGrid.PageCount > 1 And myDataGrid.CurrentPageIndex = (myDataGrid.PageCount - 1) And myDataGrid.Items.Count = 1 Then
            lblPageIndex.Text = (myDataGrid.CurrentPageIndex - 1) '将新页码保存在标签中
        End If
        '重新绑定数据
        Call myDataBind()
    End Sub
    '该过程用于绑定数据
    Sub myDataBind()
        '首先读取1个重要变量,用来设置页码
        Dim intPageIndex As Integer
        intPageIndex = Convert.ToInt32(lblPageIndex.Text)
        '下面建立DataOrders对象,返回所有人
        Dim dbs As New DataBusiness
        Dim dv As DataView = dbs.GetOrder()
        '下面根据页面变量设置要显示的页面
        myDataGrid.CurrentPageIndex = intPageIndex

        '下面绑定数据
        myDataGrid.DataSource = dv
        myDataGrid.DataBind()
    End Sub

    '该过程用于分页
    Private Sub myDataGrid_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles myDataGrid.PageIndexChanged
        lblPageIndex.Text = e.NewPageIndex      '将要显示的页码保存在标签中
        Call myDataBind()
    End Sub
    '该过程用于添加删除确认框
    Private Sub myDataGrid_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles myDataGrid.ItemDataBound
        '这个判断语句表示,只有对于数据行才执行,对于标题栏和脚注栏则不执行
        If e.Item.ItemType <> ListItemType.Header And e.Item.ItemType <> ListItemType.Footer Then
            '下面找到删除按钮控件,它其实是一个LinkButton控件
            Dim lbtnDel As LinkButton     '定义一个LinkButton控件
            lbtnDel = e.Item.Cells(7).Controls(0) '它位于第7列第0个控件
            '下面添加JavaScript事件
            lbtnDel.Attributes.Add("onclick", "javascript:return confirm('您真的要删除 " & e.Item.DataItem("OrderId") & "号订单吗?');")
        End If
    End Sub
    '该过程用于发货
    Private Sub myDataGrid_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles myDataGrid.ItemCommand
        '这里必须要判断一下,否则点击页码时也会首先触发该过程。
        If e.CommandName = "Update" Then
            '首先更新发货信息
            Dim dbs As New DataBusiness
            Call dbs.UpdateOrder(myDataGrid.DataKeys(e.Item.ItemIndex))
            '重新绑定数据
            Call myDataBind()
        End If
    End Sub
End Class

⌨️ 快捷键说明

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