home *** CD-ROM | disk | FTP | other *** search
/ 66.142.0.142 / 66.142.0.142.tar / 66.142.0.142 / App_Code / tblPositionsinfo.vb < prev    next >
Text File  |  2015-04-14  |  22KB  |  728 lines

  1. Imports System.Data
  2. Imports System.Data.Common
  3. Imports System.Data.OleDb
  4.  
  5. '
  6. ' ASP.NET Maker 7 Project Class (Table)
  7. '
  8. Public Partial Class AspNetMaker7_tfpssnet
  9.     Inherits System.Web.UI.Page
  10.  
  11.     Public tblPositions As ctblPositions
  12.  
  13.     ' Define table class
  14.     Class ctblPositions
  15.         Inherits AspNetMakerBase
  16.         Implements IDisposable
  17.  
  18.         ' Used by system generated functions
  19.         Private RsWrk As Object, sSqlWrk As String, sWhereWrk As String
  20.  
  21.         Private arwrk As Object
  22.  
  23.         Private armultiwrk() As String
  24.  
  25.         ' Constructor
  26.         Public Sub New(ByRef APage As AspNetMakerPage)
  27.             m_Page = APage
  28.             m_ParentPage = APage.ParentPage            
  29.         End Sub
  30.  
  31.         ' Define table level constants    
  32.         Public UseTokenInUrl As Boolean = EW_USE_TOKEN_IN_URL
  33.  
  34.         ' Table variable
  35.         Public ReadOnly Property TableVar() As String
  36.             Get
  37.                 Return "tblPositions"
  38.             End Get
  39.         End Property
  40.  
  41.         ' Table name
  42.         Public ReadOnly Property TableName() As String
  43.             Get
  44.                 Return "tblPositions"
  45.             End Get
  46.         End Property
  47.  
  48.         ' Records per page        
  49.         Public Property RecordsPerPage() As Integer
  50.             Get                
  51.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_REC_PER_PAGE)
  52.             End Get
  53.             Set(ByVal Value As Integer)                
  54.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_REC_PER_PAGE) = Value
  55.             End Set
  56.         End Property
  57.  
  58.         ' Start record number        
  59.         Public Property StartRecordNumber() As Integer
  60.             Get                
  61.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_START_REC)
  62.             End Get
  63.             Set(ByVal Value As Integer)                
  64.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_START_REC) = Value
  65.             End Set
  66.         End Property
  67.  
  68.         ' Search Highlight Name
  69.         Public ReadOnly Property HighlightName() As String
  70.             Get
  71.                 Return "tblPositions_Highlight"
  72.             End Get
  73.         End Property
  74.  
  75.         ' Advanced search
  76.         Public Function GetAdvancedSearch(ByRef fld As Object) As String            
  77.             Return Convert.ToString(ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ADVANCED_SEARCH & "_" & fld))
  78.         End Function
  79.  
  80.         Public Sub SetAdvancedSearch(ByRef fld As Object, v As Object)            
  81.             If ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ADVANCED_SEARCH & "_" & fld) <> v Then
  82.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ADVANCED_SEARCH & "_" & fld) = v
  83.             End If
  84.         End Sub
  85.  
  86.         ' Basic search keyword        
  87.         Public Property BasicSearchKeyword() As String
  88.             Get                
  89.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_BASIC_SEARCH)
  90.             End Get
  91.             Set(ByVal Value As String)                
  92.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_BASIC_SEARCH) = Value
  93.             End Set
  94.         End Property
  95.  
  96.         ' Basic Search Type        
  97.         Public Property BasicSearchType() As String
  98.             Get
  99.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_BASIC_SEARCH_TYPE)
  100.             End Get
  101.             Set(ByVal Value As String)
  102.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_BASIC_SEARCH_TYPE) = Value
  103.             End Set
  104.         End Property
  105.  
  106.         ' Search WHERE clause        
  107.         Public Property SearchWhere() As String
  108.             Get
  109.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_SEARCH_WHERE)
  110.             End Get
  111.             Set(ByVal Value As String)
  112.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_SEARCH_WHERE) = Value
  113.             End Set
  114.         End Property
  115.  
  116.         ' Multiple column sort
  117.         Public Sub UpdateSort(ofld, ctrl)
  118.             Dim sSortField As String, sLastSort As String, sThisSort As String, sOrderBy As String
  119.             If CurrentOrder = ofld.FldName Then
  120.                 sSortField = ofld.FldExpression
  121.                 sLastSort = ofld.Sort
  122.                 If CurrentOrderType = "ASC" OrElse CurrentOrderType = "DESC" Then
  123.                     sThisSort = CurrentOrderType
  124.                 Else
  125.                     If sLastSort = "ASC" Then sThisSort = "DESC" Else sThisSort = "ASC"
  126.                 End If
  127.                 ofld.Sort = sThisSort
  128.                 If ctrl Then
  129.                     sOrderBy = SessionOrderBy
  130.                     If sOrderBy.Contains(sSortField & " " & sLastSort) Then
  131.                         sOrderBy = sOrderBy.Replace(sSortField & " " & sLastSort, sSortField & " " & sThisSort)
  132.                     Else
  133.                         If sOrderBy <> "" Then sOrderBy = sOrderBy & ", "
  134.                         sOrderBy = sOrderBy & sSortField & " " & sThisSort
  135.                     End If
  136.                     SessionOrderBy = sOrderBy ' Save to Session
  137.                 Else
  138.                     SessionOrderBy = sSortField & " " & sThisSort ' Save to Session
  139.                 End If
  140.             Else
  141.                 If Not ctrl Then ofld.Sort = ""
  142.             End If
  143.         End Sub
  144.  
  145.         ' Session WHERE Clause        
  146.         Public Property SessionWhere() As String
  147.             Get                
  148.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_WHERE)
  149.             End Get
  150.             Set(ByVal Value As String)                
  151.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_WHERE) = Value
  152.             End Set
  153.         End Property
  154.  
  155.         ' Session ORDER BY        
  156.         Public Property SessionOrderBy() As String
  157.             Get                
  158.                 Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ORDER_BY)
  159.             End Get
  160.             Set(ByVal Value As String)                
  161.                 ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_ORDER_BY) = Value
  162.             End Set
  163.         End Property
  164.  
  165.         ' Session key
  166.         Public Function GetKey(ByRef fld As Object) As Object
  167.             Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_KEY & "_" & fld)
  168.         End Function
  169.  
  170.         Public Sub SetKey(ByRef fld As Object, ByRef v As Object)
  171.             ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_KEY & "_" & fld) = v
  172.         End Sub
  173.  
  174.         ' Table level SQL
  175.         Public ReadOnly Property SqlSelect() As String
  176.             Get ' Select
  177.                 Return "SELECT * FROM [tblPositions]"
  178.             End Get
  179.         End Property
  180.  
  181.         Public ReadOnly Property SqlWhere() As String
  182.             Get ' Where
  183.                 Return ""
  184.             End Get
  185.         End Property
  186.  
  187.         Public ReadOnly Property SqlGroupBy() As String
  188.             Get ' Group By
  189.                 Return ""
  190.             End Get
  191.         End Property
  192.  
  193.         Public ReadOnly Property SqlHaving() As String
  194.             Get ' Having
  195.                 Return ""
  196.             End Get
  197.         End Property
  198.  
  199.         Public ReadOnly Property SqlOrderBy() As String
  200.             Get ' Order By
  201.                 Return ""
  202.             End Get
  203.         End Property
  204.  
  205.         ' SQL variables
  206.         Public CurrentFilter As String ' Current filter
  207.  
  208.         Public CurrentOrder As String ' Current order
  209.  
  210.         Public CurrentOrderType As String ' Current order type
  211.  
  212.         ' Get SQL
  213.         Public Function GetSQL(where As String, orderby As String) As String
  214.             Return ew_BuildSelectSql(SqlSelect, SqlWhere, SqlGroupBy, SqlHaving, SqlOrderBy, where, orderby)
  215.         End Function
  216.  
  217.         ' Table SQL
  218.         Public ReadOnly Property SQL() As String
  219.             Get
  220.                 Dim sFilter As String, sSort As String
  221.                 sFilter = CurrentFilter
  222.                 sSort = SessionOrderBy
  223.                 Return ew_BuildSelectSql(SqlSelect, SqlWhere, SqlGroupBy, SqlHaving, SqlOrderBy, sFilter, sSort)
  224.             End Get
  225.         End Property
  226.  
  227.         ' Return table SQL with list page filter
  228.         Public ReadOnly Property ListSQL() As String
  229.             Get
  230.                 Dim sFilter As String, sSort As String
  231.                 sFilter = SessionWhere
  232.                 If CurrentFilter <> "" Then
  233.                     If sFilter <> "" Then
  234.                         sFilter = "(" & sFilter & ") AND (" & CurrentFilter & ")"
  235.                     Else
  236.                         sFilter = CurrentFilter
  237.                     End If
  238.                 End If
  239.                 sSort = SessionOrderBy
  240.                 Return ew_BuildSelectSql(SqlSelect, SqlWhere, SqlGroupBy, SqlHaving, SqlOrderBy, sFilter, sSort)
  241.             End Get
  242.         End Property
  243.  
  244.         ' Return SQL for record count
  245.         Public ReadOnly Property SelectCountSQL() As String
  246.             Get
  247.                 Dim sFilter As String = SessionWhere
  248.                 If CurrentFilter <> "" Then
  249.                     If sFilter <> "" Then
  250.                         sFilter = "(" & sFilter & ") AND (" & CurrentFilter & ")"
  251.                     Else
  252.                         sFilter = CurrentFilter
  253.                     End If
  254.                 End If
  255.                 Return ew_BuildSelectSql("SELECT COUNT(*) FROM " & SqlSelect.Substring(14), SqlWhere, "", "", "", sFilter, "")
  256.             End Get
  257.         End Property        
  258.  
  259.         ' Insert
  260.         Public Function Insert(ByRef Rs As OrderedDictionary) As Integer
  261.             Dim Sql As String = ""            
  262.             Dim names As String = ""
  263.             Dim values As String = ""            
  264.             Dim value As Object
  265.             Dim fld As cField        
  266.             For Each f As DictionaryEntry In Rs
  267.                 fld = FieldByName(f.Key)
  268.                 If fld IsNot Nothing Then
  269.                     names = names & fld.FldExpression & ","
  270.                     values = values & EW_DB_SQLPARAM_SYMBOL
  271.                     If EW_DB_SQLPARAM_SYMBOL <> "?" Then values = values & fld.FldVar
  272.                     values = values & ","
  273.                 End If
  274.             Next f
  275.             If names.EndsWith(",") Then names = names.Remove(names.Length - 1)
  276.             If values.EndsWith(",") Then values = values.Remove(values.Length - 1)
  277.             If names = "" Then Return -1
  278.             Sql = "INSERT INTO [tblPositions] (" & names & ") VALUES (" & values & ")"
  279.             Dim command As OleDbCommand = Conn.GetCommand(Sql)
  280.             For Each f As DictionaryEntry In Rs
  281.                 fld = FieldByName(f.Key)
  282.                 If fld IsNot Nothing Then
  283.                     value = f.Value    
  284.                     command.Parameters.Add(fld.FldVar, fld.FldDbType).Value = value    
  285.                 End If
  286.             Next
  287.             Return command.ExecuteNonQuery()            
  288.         End Function
  289.  
  290.         ' Update
  291.         Public Function Update(ByRef Rs As OrderedDictionary) As Integer
  292.             Dim Sql As String = ""            
  293.             Dim values As String = ""            
  294.             Dim value As Object
  295.             Dim fld As cField
  296.             For Each f As DictionaryEntry In Rs
  297.                 fld = FieldByName(f.Key)
  298.                 If fld IsNot Nothing Then
  299.                     values = values & fld.FldExpression & "=" & EW_DB_SQLPARAM_SYMBOL
  300.                     If EW_DB_SQLPARAM_SYMBOL <> "?" Then values = values & fld.FldVar
  301.                     values = values & ","
  302.                 End If
  303.             Next f
  304.             If values.EndsWith(",") Then values = values.Remove(values.Length - 1)
  305.             If values = "" Then Return -1
  306.             Sql = "UPDATE [tblPositions] SET " & values
  307.             If CurrentFilter <> "" Then Sql = Sql & " WHERE " & CurrentFilter
  308.             Dim command As OleDbCommand = Conn.GetCommand(Sql)
  309.             For Each f As DictionaryEntry In Rs
  310.                 fld = FieldByName(f.Key)
  311.                 If fld IsNot Nothing Then
  312.                     value = f.Value    
  313.                     command.Parameters.Add(fld.FldVar, fld.FldDbType).Value = value
  314.                 End If
  315.             Next
  316.             Return command.ExecuteNonQuery()
  317.         End Function
  318.  
  319.         ' Delete
  320.         Public Function Delete(ByRef Rs As OrderedDictionary) As Integer
  321.             Dim Sql As String
  322.             Dim fld As cField            
  323.             Sql = "DELETE FROM [tblPositions] WHERE "
  324.             fld = FieldByName("posID")
  325.             Sql = Sql & fld.FldExpression & "=" & ew_QuotedValue(Rs("posID"), EW_DATATYPE_NUMBER) & " AND "
  326.             If Sql.EndsWith(" AND ") Then Sql = Sql.Remove(Sql.Length - 5)
  327.             If CurrentFilter <> "" Then    Sql = Sql & " AND " & CurrentFilter
  328.             Return Conn.Execute(Sql)
  329.         End Function
  330.  
  331.         ' Key filter for table
  332.         Private ReadOnly Property SqlKeyFilter() As String
  333.             Get
  334.                 Return "[posID] = @posID@"
  335.             End Get
  336.         End Property
  337.  
  338.         ' Return Key filter for table
  339.         Public ReadOnly Property KeyFilter() As String
  340.             Get
  341.                 Dim sKeyFilter As String
  342.                 sKeyFilter = SqlKeyFilter
  343.                 If Not IsNumeric(posID.CurrentValue) Then
  344.                     sKeyFilter = "0=1" ' Invalid key
  345.                 End If
  346.                 sKeyFilter = sKeyFilter.Replace("@posID@", ew_AdjustSql(posID.CurrentValue)) ' Replace key value
  347.                 Return sKeyFilter
  348.             End Get
  349.         End Property
  350.  
  351.         ' Return URL
  352.         Public ReadOnly Property ReturnUrl() As String
  353.             Get ' Get referer URL automatically
  354.                 If HttpContext.Current.Request.ServerVariables("HTTP_REFERER") IsNot Nothing Then
  355.                     If ew_ReferPage() <> ew_CurrentPage() AndAlso ew_ReferPage() <> "login.aspx" Then ' Referer not same page or login page
  356.                         Dim url As String = HttpContext.Current.Request.ServerVariables("HTTP_REFERER")
  357.                         If url.Contains("?a=") Then ' Remove action
  358.                             Dim p1 As Integer = url.LastIndexOf("?a=")                            
  359.                             Dim p2 As Integer = url.IndexOf("&", p1)                            
  360.                             If p2 > -1 Then
  361.                                 url = url.Substring(0, p1 + 1) & url.Substring(p2 + 1)
  362.                             Else
  363.                                 url = url.Substring(0, p1)                                 
  364.                             End If
  365.                         End If
  366.                         ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL) = url ' Save to Session
  367.                     End If
  368.                 End If
  369.                 If ew_NotEmpty(ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL)) Then
  370.                     Return ew_Session(EW_PROJECT_NAME & "_" & TableVar & "_" & EW_TABLE_RETURN_URL)
  371.                 Else
  372.                     Return "tblPositionslist.aspx"
  373.                 End If
  374.             End Get
  375.         End Property
  376.  
  377.         ' View URL
  378.         Public Function ViewUrl() As String
  379.             Return KeyUrl("tblPositionsview.aspx", UrlParm(""))
  380.         End Function
  381.  
  382.         ' Add URL
  383.         Public Function AddUrl() As String
  384.             AddUrl = "tblPositionsadd.aspx"
  385.             Dim sUrlParm As String
  386.             sUrlParm = UrlParm("")
  387.             If sUrlParm <> "" Then AddUrl = AddUrl & "?" & sUrlParm
  388.         End Function
  389.  
  390.         ' Edit URL
  391.         Public Function EditUrl() As String
  392.             Return KeyUrl("tblPositionsedit.aspx", UrlParm(""))
  393.         End Function
  394.  
  395.         ' Inline edit URL
  396.         Public Function InlineEditUrl() As String
  397.             Return KeyUrl(ew_CurrentPage(), UrlParm("a=edit"))
  398.         End Function
  399.  
  400.         ' Copy URL
  401.         Public Function CopyUrl() As String
  402.             Return KeyUrl("tblPositionsadd.aspx", UrlParm(""))
  403.         End Function
  404.  
  405.         ' Inline copy URL
  406.         Public Function InlineCopyUrl() As String
  407.             Return KeyUrl(ew_CurrentPage(), UrlParm("a=copy"))
  408.         End Function
  409.  
  410.         ' Delete URL
  411.         Public Function DeleteUrl() As String
  412.             Return KeyUrl("tblPositionsdelete.aspx", UrlParm(""))
  413.         End Function
  414.  
  415.         ' Key URL
  416.         Public Function KeyUrl(url As String, parm As String) As String
  417.             Dim sUrl As String
  418.             sUrl = url & "?"
  419.             If parm <> "" Then sUrl = sUrl & parm & "&"
  420.             If Not IsDbNull(posID.CurrentValue) Then
  421.                 sUrl = sUrl & "posID=" & posID.CurrentValue
  422.             Else
  423.                 Return "javascript:alert('Invalid Record! Key is null');"
  424.             End If
  425.             Return sUrl
  426.         End Function
  427.  
  428.         ' URL parm
  429.         Function UrlParm(parm As String) As String
  430.             Dim OutStr As String = ""
  431.             If UseTokenInUrl Then
  432.                 OutStr = "t=tblPositions"
  433.             End If
  434.             If parm <> "" Then
  435.                 If OutStr <> "" Then OutStr = OutStr & "&"
  436.                 OutStr = OutStr & parm
  437.             End If
  438.             Return OutStr
  439.         End Function
  440.  
  441.         ' Sort URL
  442.         Public Function SortUrl(ByRef fld As cField) As String
  443.             Dim OutStr As String = ""
  444.             If CurrentAction <> "" OrElse Export <> "" OrElse (fld.FldType = 201 OrElse fld.FldType = 203 OrElse fld.FldType = 205) Then
  445.                 OutStr = ""
  446.             Else
  447.                 OutStr = ew_CurrentPage()
  448.                 Dim sUrlParm As String
  449.                 sUrlParm = UrlParm("order=" & HttpContext.Current.Server.UrlEncode(fld.FldName) & "&ordertype=" & fld.ReverseSort)
  450.                 OutStr = OutStr & "?" & sUrlParm
  451.             End If
  452.             Return OutStr
  453.         End Function        
  454.  
  455.         ' Load rows based on filter
  456.         Public Function LoadRs(sFilter As String) As OleDbDataReader
  457.             Dim RsRows As OleDbDataReader
  458.  
  459.             ' Set up filter (SQL WHERE clause)
  460.             CurrentFilter = sFilter
  461.             Dim sSql As String = SQL()
  462.             Try
  463.                 RsRows = Conn.GetDataReader(sSql)
  464.                 If RsRows.HasRows Then
  465.                     Return RsRows
  466.                 Else
  467.                     RsRows.Close()
  468.                     RsRows.Dispose()
  469.                 End If
  470.             Catch
  471.             End Try
  472.             Return Nothing
  473.         End Function
  474.  
  475.         ' Load row values from recordset
  476.         Public Sub LoadListRowValues(ByRef RsRow As OleDbDataReader)            
  477.             posID.DbValue = RsRow("posID")
  478.             posDescription.DbValue = RsRow("posDescription")
  479.             posInDepartment.DbValue = RsRow("posInDepartment")
  480.             posIsActive.DbValue = IIf(ew_ConvertToBool(RsRow("posIsActive")), "1", "0")
  481.         End Sub
  482.  
  483.         ' Render list row values
  484.         Public Sub RenderListRow()
  485.  
  486.             ' Row Rendering event
  487.             Row_Rendering()
  488.  
  489.             ' posDescription
  490.             posDescription.ViewValue = posDescription.CurrentValue
  491.             posDescription.CssStyle = ""
  492.             posDescription.CssClass = ""
  493.             posDescription.ViewCustomAttributes = ""
  494.  
  495.             ' posInDepartment
  496.             posInDepartment.ViewValue = posInDepartment.CurrentValue
  497.             posInDepartment.CssStyle = ""
  498.             posInDepartment.CssClass = ""
  499.             posInDepartment.ViewCustomAttributes = ""
  500.  
  501.             ' posDescription
  502.             posDescription.HrefValue = ""
  503.  
  504.             ' posInDepartment
  505.             posInDepartment.HrefValue = ""
  506.  
  507.             ' Row Rendered event
  508.             Row_Rendered()
  509.         End Sub
  510.  
  511.         Public CurrentAction As String ' Current action
  512.  
  513.         Public EventCancelled As Boolean ' Event cancelled
  514.  
  515.         Public CancelMessage As String ' Cancel message
  516.  
  517.         ' Row Type
  518.         Public RowType As Integer    
  519.  
  520.         Public CssClass As String = "" ' CSS class
  521.  
  522.         Public CssStyle As String = "" ' CSS style
  523.  
  524.         Public RowClientEvents As String = "" ' Row client events
  525.  
  526.         ' Row Attribute
  527.         Public ReadOnly Property RowAttributes() As String
  528.             Get
  529.                 Dim sAtt As String = ""
  530.                 If ew_NotEmpty(CssStyle) Then
  531.                     sAtt = sAtt & " style=""" & CssStyle.Trim() & """"
  532.                 End If
  533.                 If ew_NotEmpty(CssClass) Then
  534.                     sAtt = sAtt & " class=""" & CssClass.Trim() & """"
  535.                 End If
  536.                 If m_Export = "" Then
  537.                     If ew_NotEmpty(RowClientEvents) Then
  538.                         sAtt = sAtt & " " & RowClientEvents.Trim()
  539.                     End If
  540.                 End If
  541.                 Return sAtt
  542.             End Get
  543.         End Property
  544.  
  545.         ' Export
  546.         Private m_Export As String
  547.  
  548.         Public Property Export() As String
  549.             Get
  550.                 Return m_Export
  551.             End Get
  552.             Set(ByVal Value As String)
  553.                 m_Export = Value
  554.             End Set
  555.         End Property
  556.  
  557.         ' Export Original Value
  558.         Public ExportOriginalValue As Boolean = EW_EXPORT_ORIGINAL_VALUE
  559.  
  560.         ' Export All
  561.         Public ExportAll As Boolean = EW_EXPORT_ALL
  562.  
  563.         ' Send Email
  564.         Public SendEmail As Boolean
  565.  
  566.         ' Custom Inner Html
  567.         Public TableCustomInnerHtml As Object
  568.  
  569.         '
  570.         '  Field objects
  571.         '        
  572.         Public Function FieldByName(Name As String) As Object
  573.             If Name = "posID" Then Return posID
  574.             If Name = "posInDepartment" Then Return posInDepartment
  575.             If Name = "posDescription" Then Return posDescription
  576.             If Name = "posIsActive" Then Return posIsActive
  577.             Return Nothing
  578.         End Function
  579.  
  580.         ' posID
  581.         Private m_posID As cField
  582.  
  583.         Public ReadOnly Property posID() As cField
  584.             Get
  585.                 If m_posID Is Nothing Then m_posID = New cField("tblPositions", "x_posID", "posID", "[posID]", 3, OleDbType.Integer, EW_DATATYPE_NUMBER,  0)
  586.                 Return m_posID
  587.             End Get
  588.         End Property
  589.  
  590.         ' posDescription
  591.         Private m_posDescription As cField
  592.  
  593.         Public ReadOnly Property posDescription() As cField
  594.             Get
  595.                 If m_posDescription Is Nothing Then m_posDescription = New cField("tblPositions", "x_posDescription", "posDescription", "[posDescription]", 202, OleDbType.VarWChar, EW_DATATYPE_STRING,  0)
  596.                 Return m_posDescription
  597.             End Get
  598.         End Property
  599.  
  600.         ' posInDepartment
  601.         Private m_posInDepartment As cField
  602.  
  603.         Public ReadOnly Property posInDepartment() As cField
  604.             Get
  605.                 If m_posInDepartment Is Nothing Then m_posInDepartment = New cField("tblDepartments", "x_posInDepartment", "posInDepartment", "[posInDepartment]", 3, OleDbType.Integer, EW_DATATYPE_NUMBER, 0)
  606.                 Return m_posInDepartment
  607.             End Get
  608.         End Property
  609.  
  610.         ' posIsActive
  611.         Private m_posIsActive As cField
  612.  
  613.         Public ReadOnly Property posIsActive() As cField
  614.             Get
  615.                 If m_posIsActive Is Nothing Then m_posIsActive = New cField("tblPositions", "x_posIsActive", "posIsActive", "[posIsActive]", 11, OleDbType.Boolean, EW_DATATYPE_BOOLEAN, 0)
  616.                 Return m_posIsActive
  617.             End Get
  618.         End Property
  619.  
  620.         ' Table level events
  621.         ' Recordset Selecting event
  622.         Public Sub Recordset_Selecting(ByRef filter As String) 
  623.  
  624.             ' Enter your code here    
  625.         End Sub
  626.  
  627.         ' Recordset Selected event
  628.         Public Sub Recordset_Selected(rs As DbDataReader)
  629.  
  630.             'HttpContext.Current.Response.Write("Recordset Selected")
  631.         End Sub
  632.  
  633.         ' Recordset Searching event
  634.         Public Sub Recordset_Searching(ByRef filter As String)
  635.  
  636.             ' Enter your code here
  637.         End Sub
  638.  
  639.         ' Row_Selecting event
  640.         Public Sub Row_Selecting(ByRef filter As String)
  641.  
  642.             ' Enter your code here    
  643.         End Sub
  644.  
  645.         ' Row Selected event
  646.         Public Sub Row_Selected(rs As DbDataReader)
  647.  
  648.             'HttpContext.Current.Response.Write("Row Selected")
  649.         End Sub
  650.  
  651.         ' Row Rendering event
  652.         Public Sub Row_Rendering()
  653.  
  654.             ' Enter your code here    
  655.         End Sub
  656.  
  657.         ' Row Rendered event
  658.         Public Sub Row_Rendered()
  659.  
  660.             ' To view properties of field class, use:
  661.             ' HttpContext.Current.Response.Write(<FieldName>.AsString())
  662.  
  663.         End Sub
  664.  
  665.         ' Row Inserting event
  666.         Public Function Row_Inserting(ByRef rs As OrderedDictionary) As Boolean
  667.  
  668.             ' Enter your code here
  669.             ' To cancel, set return value to False and error message to CancelMessage
  670.  
  671.             Return True
  672.         End Function
  673.  
  674.         ' Row Inserted event
  675.         Public Sub Row_Inserted(rs As OrderedDictionary)
  676.  
  677.             'HttpContext.Current.Response.Write("Row Inserted")
  678.         End Sub
  679.  
  680.         ' Row Updating event
  681.         Public Function Row_Updating(rsold As OrderedDictionary, ByRef rsnew As OrderedDictionary) As Boolean
  682.  
  683.             ' Enter your code here
  684.             ' To cancel, set return value to False and error message to CancelMessage
  685.  
  686.             Return True
  687.         End Function
  688.  
  689.         ' Row Updated event
  690.         Public Sub Row_Updated(rsold As OrderedDictionary, rsnew As OrderedDictionary)
  691.  
  692.             'HttpContext.Current.Response.Write("Row Updated")
  693.         End Sub
  694.  
  695.         ' Recordset Deleting event
  696.         Public Function Row_Deleting(rs As OrderedDictionary) As Boolean
  697.  
  698.             ' Enter your code here
  699.             ' To cancel, set return value to False and error message to CancelMessage
  700.  
  701.             Return True
  702.         End Function
  703.  
  704.         ' Recordset Deleted event
  705.         Public Sub Row_Deleted(rs As OrderedDictionary)
  706.  
  707.             'HttpContext.Current.Response.Write("Row Deleted")
  708.         End Sub
  709.  
  710.         ' Email Sending event
  711.         Public Function Email_Sending(ByRef Email As cEmail, Args As Hashtable) As Boolean
  712.  
  713.             'HttpContext.Current.Response.Write(Email.AsString())
  714.             'HttpContext.Current.Response.End()
  715.  
  716.             Return True
  717.         End Function
  718.  
  719.         ' Class terminate
  720.         Public Sub Dispose() Implements IDisposable.Dispose
  721.             If m_posID IsNot Nothing Then m_posID.Dispose()
  722.             If m_posDescription IsNot Nothing Then m_posDescription.Dispose()
  723.             If m_posInDepartment IsNot Nothing Then m_posInDepartment.Dispose()
  724.             If m_posIsActive IsNot Nothing Then m_posIsActive.Dispose()
  725.         End Sub
  726.     End Class
  727. End Class
  728.