home *** CD-ROM | disk | FTP | other *** search
/ 66.142.0.142 / 66.142.0.142.tar / 66.142.0.142 / viewEmployeeslist.aspx.vb < prev    next >
Text File  |  2010-08-26  |  18KB  |  665 lines

  1. Imports System.Data
  2. Imports System.Data.Common
  3. Imports System.Xml
  4. Imports System.IO
  5. Imports System.Data.OleDb
  6.  
  7. '
  8. ' ASP.NET code-behind class (Page)
  9. '
  10.  
  11. Partial Class viewEmployeeslist
  12.     Inherits AspNetMaker7_tfpssnet
  13.  
  14.     ' Page object
  15.     Public viewEmployees_list As cviewEmployees_list
  16.  
  17.     '
  18.     ' Page Class
  19.     '
  20.     Class cviewEmployees_list
  21.         Inherits AspNetMakerPage
  22.         Implements IDisposable        
  23.  
  24.         ' Used by system generated functions
  25.         Private RsWrk As Object, sSqlWrk As String, sWhereWrk As String
  26.  
  27.         Private arwrk As Object
  28.  
  29.         Private armultiwrk() As String        
  30.  
  31.         ' Page URL
  32.         Public ReadOnly Property PageUrl() As String
  33.             Get
  34.                 Dim Url As String = ew_CurrentPage() & "?"
  35.                 If viewEmployees.UseTokenInUrl Then Url = Url & "t=" & viewEmployees.TableVar & "&" ' Add page token
  36.                 Return Url    
  37.             End Get
  38.         End Property
  39.  
  40.         ' Validate page request
  41.         Public Function IsPageRequest() As Boolean
  42.             Dim Result As Boolean
  43.             If viewEmployees.UseTokenInUrl Then
  44.                 Result = False
  45.                 If ObjForm IsNot Nothing Then
  46.                     Result = (viewEmployees.TableVar = ObjForm.GetValue("t"))
  47.                 End If
  48.                 If ew_Get("t") <> "" Then
  49.                     Result = (viewEmployees.TableVar = ew_Get("t"))
  50.                 End If
  51.                 Return Result
  52.             End If
  53.             Return True            
  54.         End Function    
  55.  
  56.         ' viewEmployees
  57.         Public Property viewEmployees() As cviewEmployees
  58.             Get                
  59.                 Return ParentPage.viewEmployees
  60.             End Get
  61.             Set(ByVal v As cviewEmployees)
  62.                 ParentPage.viewEmployees = v    
  63.             End Set    
  64.         End Property
  65.  
  66.         ' viewEmployees
  67.         Public Property tblEmployees() As ctblEmployees
  68.             Get                
  69.                 Return ParentPage.tblEmployees
  70.             End Get
  71.             Set(ByVal v As ctblEmployees)
  72.                 ParentPage.tblEmployees = v    
  73.             End Set    
  74.         End Property
  75.  
  76.         '
  77.         '  Constructor
  78.         '  - init objects
  79.         '  - open connection
  80.         '
  81.         Public Sub New(ByRef APage As AspNetMaker7_tfpssnet)                
  82.             m_ParentPage = APage
  83.             m_Page = Me    
  84.             m_PageID = "list"
  85.             m_PageObjName = "viewEmployees_list"
  86.             m_PageObjTypeName = "cviewEmployees_list"
  87.  
  88.             ' Table Name
  89.             m_TableName = "viewEmployees"
  90.  
  91.             ' Initialize table object
  92.             viewEmployees = New cviewEmployees(Me)
  93.             tblEmployees = New ctblEmployees(Me)
  94.  
  95.             ' Connect to database
  96.             Conn = New cConnection()
  97.  
  98.             ' Initialize list options
  99.             ListOptions = New cListOptions
  100.         End Sub
  101.  
  102.         '
  103.         '  Subroutine Page_Init
  104.         '  - called before page main
  105.         '  - check Security
  106.         '  - set up response header
  107.         '  - call page load events
  108.         '
  109.         Public Sub Page_Init()
  110.             Security = New cAdvancedSecurity(Me)
  111.             If Not Security.IsLoggedIn() Then Security.AutoLogin()
  112.             If Not Security.IsLoggedIn() Then
  113.                 Security.SaveLastUrl()
  114.                 Page_Terminate("login.aspx")
  115.             End If
  116.  
  117.             ' Table Permission loading event
  118.             Security.TablePermission_Loading()
  119.             Security.LoadCurrentUserLevel(TableName)
  120.  
  121.             ' Table Permission loaded event
  122.             Security.TablePermission_Loaded()
  123.             If Not Security.CanList Then
  124.                 Security.SaveLastUrl()
  125.                 Page_Terminate("login.aspx")
  126.             End If
  127.  
  128.             ' User ID loading event
  129.             Security.UserID_Loading()
  130.             If Security.IsLoggedIn() Then Call Security.LoadUserID()
  131.  
  132.             ' User ID loaded event
  133.             Security.UserID_Loaded()
  134.             If Security.IsLoggedIn() And ew_Empty(Security.CurrentUserID) Then
  135.                 Message = "You do not have the right permission to view the page"
  136.                 Page_Terminate("")
  137.             End If
  138.             viewEmployees.Export = ew_Get("export") ' Get export parameter
  139.             ParentPage.gsExport = viewEmployees.Export ' Get export parameter, used in header
  140.             ParentPage.gsExportFile = viewEmployees.TableVar ' Get export file, used in header
  141.  
  142.             ' Global page loading event (in ewglobal*.vb)
  143.             ParentPage.Page_Loading()
  144.  
  145.             ' Page load event, used in current page
  146.             Page_Load()
  147.         End Sub
  148.  
  149.         '
  150.         '  Class terminate
  151.         '  - clean up page object
  152.         '
  153.         Public Sub Dispose() Implements IDisposable.Dispose
  154.             Page_Terminate("")
  155.         End Sub
  156.  
  157.         '
  158.         '  Sub Page_Terminate
  159.         '  - called when exit page
  160.         '  - clean up connection and objects
  161.         '  - if URL specified, redirect to URL
  162.         '
  163.         Sub Page_Terminate(url As String)
  164.  
  165.             ' Page unload event, used in current page
  166.             Page_Unload()
  167.  
  168.             ' Global page unloaded event (in ewglobal*.vb)
  169.             ParentPage.Page_Unloaded()
  170.  
  171.             ' Close connection
  172.             Conn.Dispose()
  173.             Security = Nothing
  174.             viewEmployees.Dispose()
  175.             tblEmployees.Dispose()
  176.             ListOptions = Nothing
  177.  
  178.             ' Go to URL if specified
  179.             If url <> "" Then
  180.                 HttpContext.Current.Response.Clear()
  181.                 HttpContext.Current.Response.Redirect(url)
  182.             End If
  183.         End Sub
  184.  
  185.     Public lDisplayRecs As Integer ' Number of display records
  186.  
  187.     Public lStartRec As Integer, lStopRec As Integer, lTotalRecs As Integer, lRecRange As Integer
  188.  
  189.     Public sSrchWhere As String
  190.  
  191.     Public lRecCnt As Integer
  192.  
  193.     Public lEditRowCnt As Integer
  194.  
  195.     Public lRowCnt As Integer, lRowIndex As Integer
  196.  
  197.     Public lOptionCnt As Integer
  198.  
  199.     Public lRecPerRow As Integer, lColCnt As Integer
  200.  
  201.     Public sDeleteConfirmMsg As String ' Delete confirm message
  202.  
  203.     Public sDbMasterFilter As String, sDbDetailFilter As String
  204.  
  205.     Public bMasterRecordExists As Boolean
  206.  
  207.     Public ListOptions As Object
  208.  
  209.     Public sMultiSelectKey As String
  210.  
  211.     Public x_ewPriv As Integer
  212.  
  213.     '
  214.     ' Page main processing
  215.     '
  216.     Public Sub Page_Main()
  217.         lDisplayRecs = 20
  218.         lRecRange = EW_PAGER_RANGE
  219.         lRecCnt = 0 ' Record count
  220.  
  221.         ' Search filters        
  222.         Dim sSrchAdvanced As String = "" ' Advanced search filter
  223.         Dim sSrchBasic As String = "" ' Basic search filter
  224.         Dim sFilter As String = ""
  225.         sSrchWhere = "" ' Search WHERE clause        
  226.  
  227.         ' Master/Detail
  228.         sDbMasterFilter = "" ' Master filter
  229.         sDbDetailFilter = "" ' Detail filter
  230.         If IsPageRequest Then ' Validate request
  231.  
  232.             ' Set up records per page dynamically
  233.             SetUpDisplayRecs()
  234.  
  235.             ' Handle reset command
  236.             ResetCmd()
  237.  
  238.             ' Set Up Sorting Order
  239.             SetUpSortOrder()
  240.         End If
  241.  
  242.         ' Restore display records
  243.         If (viewEmployees.RecordsPerPage = -1 OrElse viewEmployees.RecordsPerPage > 0) Then
  244.             lDisplayRecs = viewEmployees.RecordsPerPage ' Restore from Session
  245.         Else
  246.             lDisplayRecs = 20 ' Load default
  247.         End If
  248.  
  249.         ' Load Sorting Order
  250.         LoadSortOrder()
  251.  
  252.         ' Build filter
  253.         sFilter = ""
  254.         If Not Security.CanList Then
  255.             sFilter = "(0=1)" ' Filter all records
  256.         End If
  257.         If sDbDetailFilter <> "" Then
  258.             If sFilter <> "" Then
  259.                 sFilter = "(" & sFilter & ") AND (" & sDbDetailFilter & ")"
  260.             Else
  261.                 sFilter = sDbDetailFilter
  262.             End If
  263.         End If
  264.         If sSrchWhere <> "" Then
  265.             If sFilter <> "" Then
  266.                 sFilter = "(" & sFilter & ") AND (" & sSrchWhere & ")"
  267.             Else
  268.                 sFilter = sSrchWhere
  269.             End If
  270.         End If
  271.  
  272.         ' Set up filter in Session
  273.         viewEmployees.SessionWhere = sFilter
  274.         viewEmployees.CurrentFilter = ""
  275.     End Sub
  276.  
  277.     '
  278.     ' Set up number of records displayed per page
  279.     '
  280.     Sub SetUpDisplayRecs()
  281.         Dim sWrk As String
  282.         sWrk = ew_Get(EW_TABLE_REC_PER_PAGE)
  283.         If sWrk <> "" Then
  284.             If IsNumeric(sWrk) Then
  285.                 lDisplayRecs = ew_ConvertToInt(sWrk)
  286.             Else
  287.                 If ew_SameText(sWrk, "all") Then ' Display all records
  288.                     lDisplayRecs = -1
  289.                 Else
  290.                     lDisplayRecs = 20 ' Non-numeric, load default
  291.                 End If
  292.             End If
  293.             viewEmployees.RecordsPerPage = lDisplayRecs ' Save to Session
  294.  
  295.             ' Reset start position
  296.             lStartRec = 1
  297.             viewEmployees.StartRecordNumber = lStartRec
  298.         End If
  299.     End Sub
  300.  
  301.     '
  302.     ' Set up Sort parameters based on Sort Links clicked
  303.     '
  304.     Sub SetUpSortOrder()
  305.         Dim sOrderBy As String
  306.         Dim sSortField As String, sLastSort As String, sThisSort As String
  307.         Dim bCtrl As Boolean
  308.  
  309.         ' Check for Ctrl pressed
  310.         bCtrl = (ew_Get("ctrl") <> "")
  311.  
  312.         ' Check for an Order parameter
  313.         If ew_Get("order") <> "" Then
  314.             viewEmployees.CurrentOrder = ew_Get("order")
  315.             viewEmployees.CurrentOrderType = ew_Get("ordertype")
  316.             viewEmployees.UpdateSort(viewEmployees.empID, bCtrl) ' empID
  317.                 viewEmployees.UpdateSort(viewEmployees.empPayrollNumber, bCtrl) ' empPayrollNumber
  318.                 viewEmployees.UpdateSort(viewEmployees.empUsername, bCtrl) ' empUsername
  319.                 viewEmployees.UpdateSort(viewEmployees.empName, bCtrl) ' empName
  320.             viewEmployees.UpdateSort(viewEmployees.empPhone, bCtrl) ' empPhone
  321.             viewEmployees.UpdateSort(viewEmployees.empEmail, bCtrl) ' empEmail
  322.             viewEmployees.StartRecordNumber = 1 ' Reset start position
  323.         End If
  324.     End Sub
  325.  
  326.     '
  327.     ' Load Sort Order parameters
  328.     '
  329.     Sub LoadSortOrder()
  330.         Dim sOrderBy As String
  331.         sOrderBy = viewEmployees.SessionOrderBy ' Get order by from Session
  332.         If sOrderBy = "" Then
  333.             If viewEmployees.SqlOrderBy <> "" Then
  334.                 sOrderBy = viewEmployees.SqlOrderBy
  335.                 viewEmployees.SessionOrderBy = sOrderBy
  336.             End If
  337.         End If
  338.     End Sub
  339.  
  340.     '
  341.     ' Reset command based on querystring parameter "cmd"
  342.     ' - reset: reset search parameters
  343.     ' - resetall: reset search and master/detail parameters
  344.     ' - resetsort: reset sort parameters
  345.     '
  346.     Sub ResetCmd()
  347.         Dim sCmd As String
  348.  
  349.         ' Get reset cmd
  350.         If ew_Get("cmd") <> "" Then
  351.             sCmd = ew_Get("cmd")
  352.  
  353.             ' Reset sort criteria
  354.             If ew_SameText(sCmd, "resetsort") Then
  355.                 Dim sOrderBy As String = ""
  356.                 viewEmployees.SessionOrderBy = sOrderBy
  357.                 viewEmployees.empID.Sort = ""
  358.                     viewEmployees.empPayrollNumber.Sort = ""
  359.                     viewEmployees.empUsername.Sort = ""
  360.                     viewEmployees.empName.Sort = ""
  361.                 viewEmployees.empPhone.Sort = ""
  362.                 viewEmployees.empEmail.Sort = ""
  363.             End If
  364.  
  365.             ' Reset start position
  366.             lStartRec = 1
  367.             viewEmployees.StartRecordNumber = lStartRec
  368.         End If
  369.     End Sub
  370.  
  371.     Public Pager As Object
  372.  
  373.     '
  374.     ' Set up Starting Record parameters
  375.     '
  376.     Sub SetUpStartRec()
  377.         Dim nPageNo As Integer
  378.  
  379.         ' Exit if lDisplayRecs = 0
  380.         If lDisplayRecs = 0 Then Exit Sub
  381.         If IsPageRequest Then ' Validate request
  382.  
  383.             ' Check for a "start" parameter
  384.             If ew_Get(EW_TABLE_START_REC) <> "" AndAlso IsNumeric(ew_Get(EW_TABLE_START_REC)) Then
  385.                 lStartRec = ew_ConvertToInt(ew_Get(EW_TABLE_START_REC))
  386.                 viewEmployees.StartRecordNumber = lStartRec
  387.             ElseIf ew_Get(EW_TABLE_PAGE_NO) <> "" AndAlso IsNumeric(ew_Get(EW_TABLE_PAGE_NO)) Then
  388.                 nPageNo = ew_ConvertToInt(ew_Get(EW_TABLE_PAGE_NO))
  389.                 lStartRec = (nPageNo-1)*lDisplayRecs+1
  390.                 If lStartRec <= 0 Then
  391.                     lStartRec = 1
  392.                 ElseIf lStartRec >= ((lTotalRecs-1)\lDisplayRecs)*lDisplayRecs+1 Then
  393.                     lStartRec = ((lTotalRecs-1)\lDisplayRecs)*lDisplayRecs+1
  394.                 End If
  395.                 viewEmployees.StartRecordNumber = lStartRec
  396.             End If
  397.         End If
  398.         lStartRec = viewEmployees.StartRecordNumber
  399.  
  400.         ' Check if correct start record counter
  401.         If lStartRec <= 0 Then ' Avoid invalid start record counter
  402.             lStartRec = 1 ' Reset start record counter
  403.             viewEmployees.StartRecordNumber = lStartRec
  404.         ElseIf lStartRec > lTotalRecs Then ' Avoid starting record > total records
  405.             lStartRec = ((lTotalRecs-1)\lDisplayRecs)*lDisplayRecs+1 ' Point to last page first record
  406.             viewEmployees.StartRecordNumber = lStartRec
  407.         ElseIf (lStartRec-1) Mod lDisplayRecs <> 0 Then
  408.             lStartRec = ((lStartRec-1)\lDisplayRecs)*lDisplayRecs+1 ' Point to page boundary
  409.             viewEmployees.StartRecordNumber = lStartRec
  410.         End If
  411.     End Sub
  412.  
  413.     '
  414.     ' Load default values
  415.     '
  416.     Sub LoadDefaultValues()
  417.     End Sub
  418.  
  419.     '
  420.     ' Load recordset
  421.     '
  422.     Function LoadRecordset() As OleDbDataReader
  423.  
  424.         ' Recordset Selecting event
  425.         viewEmployees.Recordset_Selecting(viewEmployees.CurrentFilter)
  426.  
  427.         ' Load list page SQL
  428.         Dim sSql As String = viewEmployees.ListSQL
  429.  
  430.         ' Write SQL for debug
  431.         If EW_DEBUG_ENABLED Then ew_Write(sSql)
  432.  
  433.         ' Count
  434.         lTotalRecs = -1        
  435.  
  436.         ' Load recordset
  437.         Dim Rs As OleDbDataReader = Conn.GetDataReader(sSql)
  438.         If lTotalRecs < 0 AndAlso Rs.HasRows Then
  439.             lTotalRecs = 0
  440.             While Rs.Read()
  441.                 lTotalRecs = lTotalRecs + 1
  442.             End While
  443.             Rs.Close()        
  444.             Rs = Conn.GetDataReader(sSql)
  445.         End If
  446.  
  447.         ' Recordset Selected event
  448.         viewEmployees.Recordset_Selected(Rs)
  449.         Return Rs
  450.     End Function
  451.  
  452.     '
  453.     ' Load row based on key values
  454.     '
  455.     Function LoadRow() As Boolean
  456.         Dim RsRow As OleDbDataReader
  457.         Dim sFilter As String = viewEmployees.KeyFilter
  458.  
  459.         ' Row Selecting event
  460.         viewEmployees.Row_Selecting(sFilter)
  461.  
  462.         ' Load SQL based on filter
  463.         viewEmployees.CurrentFilter = sFilter
  464.         Dim sSql As String = viewEmployees.SQL
  465.  
  466.         ' Write SQL for debug
  467.         If EW_DEBUG_ENABLED Then ew_Write(sSql)
  468.         Try
  469.             RsRow = Conn.GetTempDataReader(sSql)    
  470.             If Not RsRow.Read() Then
  471.                 Return False
  472.             Else                
  473.                 LoadRowValues(RsRow) ' Load row values
  474.  
  475.                 ' Row Selected event
  476.                 viewEmployees.Row_Selected(RsRow)
  477.                 Return True    
  478.             End If
  479.         Catch
  480.             If EW_DEBUG_ENABLED Then Throw
  481.             Return False
  482.         Finally
  483.             Conn.CloseTempDataReader()
  484.         End Try
  485.     End Function
  486.  
  487.     '
  488.     ' Load row values from recordset
  489.     '
  490.     Sub LoadRowValues(ByRef RsRow As OleDbDataReader)
  491.         viewEmployees.empID.DbValue = RsRow("empID")
  492.             viewEmployees.empPayrollNumber.DbValue = RsRow("empPayrollNumber")
  493.             viewEmployees.empUsername.DbValue = RsRow("empUsername")
  494.             viewEmployees.empName.DbValue = RsRow("empName")
  495.         viewEmployees.empFirstName.DbValue = RsRow("empFirstName")
  496.         viewEmployees.empLastName.DbValue = RsRow("empLastName")
  497.         viewEmployees.empAddress.DbValue = RsRow("empAddress")
  498.         viewEmployees.empCity.DbValue = RsRow("empCity")
  499.         viewEmployees.empState.DbValue = RsRow("empState")
  500.         viewEmployees.empZIP.DbValue = RsRow("empZIP")
  501.         viewEmployees.empPhone.DbValue = RsRow("empPhone")
  502.         viewEmployees.empEmail.DbValue = RsRow("empEmail")
  503.         viewEmployees.empUserPass.DbValue = RsRow("empUserPass")
  504.     End Sub
  505.  
  506.     '
  507.     ' Render row values based on field settings
  508.     '
  509.     Sub RenderRow()
  510.  
  511.         ' Row Rendering event
  512.         viewEmployees.Row_Rendering()
  513.  
  514.         '
  515.         '  Common render codes for all row types
  516.         '
  517.         ' empID
  518.  
  519.         viewEmployees.empID.CellCssStyle = ""
  520.         viewEmployees.empID.CellCssClass = ""
  521.  
  522.             ' empPayrollNumber
  523.             viewEmployees.empPayrollNumber.CellCssStyle = ""
  524.             viewEmployees.empPayrollNumber.CellCssClass = ""
  525.  
  526.             ' empUsername
  527.             viewEmployees.empUsername.CellCssStyle = ""
  528.             viewEmployees.empUsername.CellCssClass = ""
  529.  
  530.             ' empName
  531.         viewEmployees.empName.CellCssStyle = ""
  532.         viewEmployees.empName.CellCssClass = ""
  533.  
  534.         ' empPhone
  535.         viewEmployees.empPhone.CellCssStyle = ""
  536.         viewEmployees.empPhone.CellCssClass = ""
  537.  
  538.         ' empEmail
  539.         viewEmployees.empEmail.CellCssStyle = ""
  540.         viewEmployees.empEmail.CellCssClass = ""
  541.  
  542.         '
  543.         '  View  Row
  544.         '
  545.  
  546.         If viewEmployees.RowType = EW_ROWTYPE_VIEW Then ' View row
  547.  
  548.             ' empID
  549.             viewEmployees.empID.ViewValue = viewEmployees.empID.CurrentValue
  550.             viewEmployees.empID.CssStyle = ""
  551.             viewEmployees.empID.CssClass = ""
  552.             viewEmployees.empID.ViewCustomAttributes = ""
  553.  
  554.                 ' empPayrollNujber
  555.                 viewEmployees.empPayrollNumber.ViewValue = viewEmployees.empPayrollNumber.CurrentValue
  556.                 viewEmployees.empPayrollNumber.CssStyle = ""
  557.                 viewEmployees.empPayrollNumber.CssClass = ""
  558.                 viewEmployees.empPayrollNumber.ViewCustomAttributes = ""
  559.  
  560.                 ' empUsername
  561.                 viewEmployees.empUsername.ViewValue = viewEmployees.empUsername.CurrentValue
  562.                 viewEmployees.empUsername.CssStyle = ""
  563.                 viewEmployees.empUsername.CssClass = ""
  564.                 viewEmployees.empUsername.ViewCustomAttributes = ""
  565.  
  566.                 ' empName
  567.             viewEmployees.empName.ViewValue = viewEmployees.empName.CurrentValue
  568.             viewEmployees.empName.CssStyle = ""
  569.             viewEmployees.empName.CssClass = ""
  570.             viewEmployees.empName.ViewCustomAttributes = ""
  571.  
  572.             ' empPhone
  573.             viewEmployees.empPhone.ViewValue = viewEmployees.empPhone.CurrentValue
  574.             viewEmployees.empPhone.CssStyle = ""
  575.             viewEmployees.empPhone.CssClass = ""
  576.             viewEmployees.empPhone.ViewCustomAttributes = ""
  577.  
  578.             ' empEmail
  579.             viewEmployees.empEmail.ViewValue = viewEmployees.empEmail.CurrentValue
  580.             viewEmployees.empEmail.CssStyle = ""
  581.             viewEmployees.empEmail.CssClass = ""
  582.             viewEmployees.empEmail.ViewCustomAttributes = ""
  583.  
  584.             ' View refer script
  585.             ' empID
  586.  
  587.             viewEmployees.empID.HrefValue = ""
  588.  
  589.                 ' empPayrollNumber
  590.                 viewEmployees.empPayrollNumber.HrefValue = ""
  591.  
  592.                 ' empUsername
  593.                 viewEmployees.empUsername.HrefValue = ""
  594.  
  595.                 ' empName
  596.             viewEmployees.empName.HrefValue = ""
  597.  
  598.             ' empPhone
  599.             viewEmployees.empPhone.HrefValue = ""
  600.  
  601.             ' empEmail
  602.             viewEmployees.empEmail.HrefValue = ""
  603.         End If
  604.  
  605.         ' Row Rendered event
  606.         viewEmployees.Row_Rendered()
  607.     End Sub
  608.  
  609.     '
  610.     ' Show link optionally based on user ID
  611.     '
  612.     Function ShowOptionLink() As Boolean        
  613.         If Security.IsLoggedIn() AndAlso Not Security.IsAdmin() Then
  614.             Return Security.IsValidUserID(viewEmployees.empID.CurrentValue)
  615.         End If
  616.         Return True
  617.     End Function
  618.  
  619.         ' Page Load event
  620.         Public Sub Page_Load()
  621.  
  622.             'HttpContext.Current.Response.Write("Page Load")
  623.         End Sub
  624.  
  625.         ' Page Unload event
  626.         Public Sub Page_Unload()
  627.  
  628.             'HttpContext.Current.Response.Write("Page Unload")
  629.         End Sub
  630.  
  631.     ' Form Custom Validate event
  632.     Public Function Form_CustomValidate(ByRef CustomError As String) As Boolean
  633.  
  634.         'Return error message in CustomError
  635.         Return True
  636.     End Function
  637.     End Class
  638.  
  639.     '
  640.     ' ASP.NET Page_Load event
  641.     '
  642.  
  643.     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  644.         Response.Buffer = EW_RESPONSE_BUFFER
  645.         Response.Cache.SetCacheability(HttpCacheability.NoCache)
  646.  
  647.         ' Page init
  648.         viewEmployees_list = New cviewEmployees_list(Me)        
  649.         viewEmployees_list.Page_Init()
  650.  
  651.         ' Page main processing
  652.         viewEmployees_list.Page_Main()
  653.     End Sub
  654.  
  655.     '
  656.     ' ASP.NET Page_Unload event
  657.     '
  658.  
  659.     Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
  660.  
  661.         ' Dispose page object
  662.         If viewEmployees_list IsNot Nothing Then viewEmployees_list.Dispose()
  663.     End Sub
  664. End Class
  665.