home *** CD-ROM | disk | FTP | other *** search
/ 66.142.0.142 / 66.142.0.142.tar / 66.142.0.142 / ewlookup7.aspx.vb < prev    next >
Text File  |  2010-08-24  |  3KB  |  111 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 (Lookup)
  9. '
  10.  
  11. Partial Class ewlookup7
  12.     Inherits AspNetMaker7_tfpssnet
  13.     Dim lookup As clookup
  14.  
  15.     ' Page class for lookup
  16.     Class clookup
  17.         Inherits AspNetMakerPage    
  18.  
  19.         ' Constructor
  20.         Public Sub New(ByRef APage As AspNetMaker7_tfpssnet)
  21.             m_ParentPage = APage
  22.             m_Page = Me
  23.             m_PageID = "lookup"
  24.             m_PageObjName = "lookup"
  25.             m_PageObjTypeName = "clookup"
  26.         End Sub        
  27.  
  28.         ' URL
  29.         Public ReadOnly Property PageUrl() As String
  30.             Get
  31.                 Return ew_CurrentPage() & "?"
  32.             End Get
  33.         End Property
  34.  
  35.         ' Page Main
  36.         Public Sub Page_Main()            
  37.             If HttpContext.Current.Request.Querystring.Count > 0 Then
  38.                     Dim Sql As String = ew_Get("s")
  39.                     Sql = cTEA.Decrypt(Sql, EW_RANDOM_KEY)
  40.                     If Sql <> "" Then
  41.  
  42.                         ' Get the filter values (for "IN")
  43.                         Dim Value As String = ew_AdjustSql(ew_Get("f"))
  44.                         If Value <> "" Then
  45.                             Dim arValue() As String = Value.Split(New Char() {","c})
  46.                             Dim FldType As Integer = ew_ConvertToInt(ew_Get("lft")) ' Link field data type
  47.                             For ari As Integer = 0 To arValue.GetUpperBound(0)
  48.                                 arValue(ari) = ew_QuotedValue(arValue(ari), FldType)
  49.                             Next
  50.                             Sql = Sql.Replace("{filter_value}", String.Join(",", arValue))
  51.                         End If
  52.  
  53.                         ' Get the query value (for "LIKE" or "=")
  54.                         Value = ew_AdjustSql(ew_Get("q"))
  55.                         If Value <> "" Then
  56.                             Sql = Sql.Replace("{query_value}", Value)
  57.                         End If
  58.  
  59.                         ' Get the lookup values
  60.                         If Not Sql.Contains("{filter_value}") AndAlso Not Sql.Contains("{query_value}") Then
  61.                             GetLookupValues(Sql)
  62.                         End If                    
  63.                     End If
  64.             End If
  65.         End Sub
  66.  
  67.         ' Get values from database
  68.         Private Sub GetLookupValues(Sql As String)        
  69.             Dim RsArr As ArrayList
  70.             Dim str As String        
  71.  
  72.             ' Connect to database
  73.             Conn = New cConnection()
  74.             Try
  75.                 RsArr = Conn.GetRows(Sql)
  76.             Finally
  77.                 Conn.Dispose()
  78.             End Try
  79.  
  80.             ' Output        
  81.             For Each Row As OrderedDictionary In RsArr
  82.                 For Each f As DictionaryEntry In Row
  83.                     str = Convert.ToString(f.Value)
  84.                     str = RemoveDelimiters(str)
  85.                     ew_Write(str & EW_FIELD_DELIMITER)
  86.                 Next
  87.                 ew_Write(EW_RECORD_DELIMITER)
  88.             Next        
  89.         End Sub
  90.  
  91.         ' Process values
  92.         Private Function RemoveDelimiters(str As String) As String
  93.             Dim wrkstr As String = str
  94.             If wrkstr.Length > 0 Then
  95.                 wrkstr = wrkstr.Replace(vbCr, " ")
  96.                 wrkstr = wrkstr.Replace(vbLf, " ")
  97.                 wrkstr = wrkstr.Replace(EW_RECORD_DELIMITER, "")
  98.                 wrkstr = wrkstr.Replace(EW_FIELD_DELIMITER, "")
  99.             End If
  100.             Return wrkstr
  101.         End Function
  102.     End Class
  103.  
  104.     ' ASP.NET Page_Load event
  105.     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  106.         Response.Cache.SetCacheability(HttpCacheability.NoCache)
  107.         lookup = New clookup(Me)
  108.         lookup.Page_Main()    
  109.     End Sub
  110. End Class
  111.