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 + -
显示快捷键?