如何申明全局變量?
如下所示(boolSort的值總是會被重置,怎樣才能保存下來,急
Public Class WebForm1
Inherits System.Web.UI.Page
Protected WithEvents lbJe As System.Web.UI.WebControls.Label
Protected WithEvents ddlJE As System.Web.UI.WebControls.DropDownList
Protected WithEvents dgLine As System.Web.UI.WebControls.DataGrid
Protected WithEvents calDate As System.Web.UI.WebControls.Calendar
Protected WithEvents dgTotal As System.Web.UI.WebControls.DataGrid
Dim boolSort As Boolean = False
Dim strWhereCause As String = ""
Dim strCause As String = ""
Dim strViewString As String = ""
Dim strLine As String = ""
Dim strTotal As String = "select workid as 工單號, Count(je) as 數量 from duke group by workid"
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
'NOTE: The following placeholder declaration is required by the Web Form Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object
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
'Put user code to initialize the page here
calDate.SelectedDate = Now
If Not Page.IsPostBack Then
strLine = "select WorkID,je,Count(je) from duke where datediff(day,getdate(),sndt)=0"
strLine &= " group by WorkID,Je Order by Je"
strViewString = "WorkID"
boolSort = False
setdata()
End If
End Sub
Sub ChangeFilter(ByVal Source As Object, ByVal E As EventArgs)
strWhereCause = ""
strWhereCause = "(datediff(day,'" & calDate.SelectedDate.ToString() & "',sndt)=0)"
FilterJe(ddlJE.SelectedItem.Text)
strWhereCause = " where " & strWhereCause & " AND " & strCause
strLine = "Select WorkID,Je,Count(je) From duke " & strWhereCause
strLine &= " group by WorkID,Je Order by Je"
boolSort = True
setdata()
End Sub
Sub FilterJe(ByVal strChoice As String)
strCause = ""
Select Case strChoice
Case "All"
strCause = "(Je<>0)"
Case "1"
strCause = "(Je=1)"
Case "2"
strCause = "(Je=2)"
Case "3"
strCause = "(Je=3)"
Case "4"
strCause = "(Je=4)"
Case "5"
strCause = "(Je=5)"
Case "6"
strCause = "(Je=6)"
Case "7"
strCause = "(Je=7)"
Case "8"
strCause = "(Je=8)"
Case "9"
strCause = "(Je=9)"
Case "10"
strCause = "(Je=10)"
End Select
End Sub
Sub SorColumn(ByVal Source As Object, ByVal E As DataGridSortCommandEventArgs)
If boolSort Then
strLine = "Select WorkID,Je,Count(je) From duke " & strWhereCause
strLine &= " group by WorkID,Je Order by Je"
'Response.Write(strLine)
Else
strLine = "select WorkID,je,Count(je) from duke where datediff(day,getdate(),sndt)=0"
strLine &= " group by WorkID,Je Order by Je"
End If
'Response.Write(strLine)
strViewString = E.SortExpression
setdata()
End Sub
Sub setdata()
Dim strConn As String = "server=192.168.203.21;database=mfd;uid=mfd;pwd=mfd"
Dim objConn As New SqlConnection(strConn)
'Response.Write(strLine)
Dim objAdapter As New SqlDataAdapter(strLine, objConn)
Dim objDataSet As New DataSet
objAdapter.Fill(objDataSet, "dtLine")
Dim dtline As DataTable = objDataSet.Tables("dtLine")
Dim dvView As New DataView(dtline)
dvView.Sort = strViewString
dgLine.DataSource = dvView
dgLine.DataBind()
Dim objAdapter1 As New SqlDataAdapter(strTotal, objConn)
objAdapter1.Fill(objDataSet, "dtWorkID")
Dim dtWorkID As DataTable = objDataSet.Tables("dtWorkID")
Dim dvView1 As New DataView(dtWorkID)
dgTotal.DataSource = dvView1
dgTotal.DataBind()
End Sub
End Class