ordercontrol.ascx.vb

来自「C#语言制作asp.net网上商店的」· VB 代码 · 共 103 行

VB
103
字号
Imports NetShopForge.Library.Order

Partial Class Shop_User_OrderControl
    Inherits System.Web.UI.UserControl

#Region "---Event Method---"

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Dim objOC As New OrderController
            BindData()
            BindSearch()
        End If
    End Sub
    Protected Sub ChangePage(ByVal src As Object, ByVal e As EventArgs) Handles Pager.PageChanged
        ' Dim startTime As System.DateTime = System.DateTime.Now

        BindData()
        'Dim endTime As System.DateTime = System.DateTime.Now
        'Dim ts As System.TimeSpan = endTime - startTime
        ''   Label1.Text = "页面执行时间:" & ts.Milliseconds & " 毫秒"
    End Sub


#End Region

#Region "---Private Method---"

    Private Sub BindData()
        Dim sqlWhere As String = GetSqlWhere()
        ' Dim objOC As New OrderController
        Pager.RecordCount = OrderController.GetOrderNumberByPage(sqlWhere)
        gvOrders.DataSource = OrderController.GetOrderList(Pager.PageSize, Pager.CurrentPageIndex, sqlWhere)
        gvOrders.DataBind()
        Pager.CustomInfoHTML = "记录总数:" + Pager.RecordCount.ToString()
        Pager.CustomInfoHTML += " 总页数:" + Pager.PageCount.ToString()
        Pager.CustomInfoHTML += " 当前页:" + Pager.CurrentPageIndex.ToString()
    End Sub


    Private Sub BindSearch()
        Dim I As Integer
        ddlOrderStatus.Items.Clear()
        ddlOrderStatus.Items.Add(New ListItem("全部订单", -1))
        For Each I In [Enum].GetValues(GetType(OrderStatus))
            ddlOrderStatus.Items.Add(New ListItem(OrderController.GetChineseOrderStatus(I), I))
        Next
        'dpStart.IsReadOnly = True
        'dpEnd.IsReadOnly = True
        'dpStart.SelectedDate =  DateTime.Today.Subtract(TimeSpan.FromDays(30))
        'dpEnd.SelectedDate = Today
    End Sub

#End Region

    Private Function GetSqlWhere() As String

        If hfSqlWhere.Value.Length > 0 Then
            Return (hfSqlWhere.Value & " AND (UserName='" & My.User.Name.Replace("'", "''") & "')")
        Else
            Return "UserName='" & My.User.Name.Replace("'", "''") & "'"
        End If



    End Function

    Protected Sub gvOrders_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvOrders.RowDataBound
        If e.Row.RowType = DataControlRowType.DataRow Then
            Dim lbOrderStatus As Label = CType(e.Row.FindControl("lbOrderStatus"), Label)
            Dim I As Integer = CInt(lbOrderStatus.Text)
            lbOrderStatus.Text = Order.OrderController.GetChineseOrderStatus(I)
            Dim actions As Generic.List(Of OrderAction) = Order.OrderController.GetOrderActionsForUser(I)
            Dim ac As OrderAction
            Dim sb As New StringBuilder


            For Each ac In actions
                If ac = OrderAction.B_Review Then Continue For
                Dim Text As String = Order.OrderController.GetChineseOrderAction(ac)
                Dim Url As String = String.Format("{0}?mode=orderitem&orderid={1}&action={2}", Page.ResolveUrl("~/User.aspx"), gvOrders.DataKeys(e.Row.RowIndex).Value, CInt(ac))
                sb.Append(String.Format("<a href =""{1}"">{0}</a>   ", Text, Url))
            Next

            Dim Operation As Literal = CType(e.Row.FindControl("Operation"), Literal)

            Operation.Text = sb.ToString


        End If
    End Sub

    Protected Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click
        'hfSqlWhere.Value = String.Format("(( OrderDate <'{1}') AND (OrderDate > '{0}'))", dpStart.SelectedDate.ToString("yyyy-MM-dd"), dpEnd.SelectedDate.AddDays(1).ToString("yyyy-MM-dd"))

        'If ddlOrderStatus.SelectedIndex <> 0 Then
        '    hfSqlWhere.Value = String.Format("{0} AND (OrderStatus={1}) ", hfSqlWhere.Value.ToString, ddlOrderStatus.SelectedValue)
        'End If
        'BindData()

    End Sub
End Class

⌨️ 快捷键说明

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