Code:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
GetField()
reslist()
End If
End Sub
Function GetField()
Session("SearchItems") = "By Town,Status,List Price Range,Bedrooms,Full Baths,Total SqFt (gla),Year Built"
Session("sys_name") = "town,status,list_price,bedrooms,baths,glaag,year_built"
Session("condition") = "=,=,bt,bt,bt,bt,bt"
Session("val1") = "0,0,0,1,1,0,1800"
Session("val2") = "0,0,99900020,20,99999,2003"
Session("vi_type") = "TOWN,STATUS,RANGE,RANGE,RANGE,RANGE,RANGE,"
Session("vi_translation") = "MADAREA,STATUS, , , , , "
Session("ttlitems") = 7
FillPanel()
End Function
Function getcondition(ByVal vtype As String, ByVal actual As String, ByVal name As String, ByVal condition As String, ByVal translation As String)
If condition = "=" And (translation = " " Or translation = "") Then
Dim s As New TextBox
s.EnableViewState = True
s.ID = name
Panel1.Controls.Add(s)
End If
If condition = "=" And translation = "MADAREA" Then
Dim f As New ListBox
f.Rows = 5
f.EnableViewState = True
f.SelectionMode = ListSelectionMode.Multiple
f.ID = name
f.DataTextField = "name"
Dim conn As String
Dim appsetting As NameValueCollection = CType(HttpContext.Current.GetConfig("appSettings"), NameValueCollection)
conn = CStr(appsetting("dsnNH"))
Dim myConnection As SqlConnection = New SqlConnection(conn)
Dim dsLogin As SqlCommand
If name = "county" Then
dsLogin = New SqlCommand("select name from major_area", myConnection)
Else
dsLogin = New SqlCommand("select name from mls_area", myConnection)
End If
Dim dr As SqlDataReader
myConnection.Open()
dr = dsLogin.ExecuteReader()
f.EnableViewState = True
f.DataSource = dr
f.DataBind()
Panel1.Controls.Add(f)
dr.Close()
End If
If condition = "=" And translation = "STATUS" Then
Dim f As New DropDownList
f.ID = name
f.EnableViewState = True
f.Items.Add("Current")
f.Items.Add("Pending")
f.Items.Add("Sold")
f.Items.Add("Expired")
f.Items.Add("Withdrawn")
Panel1.Controls.Add(f)
End If
If condition = "bt" And (translation = " " Or translation = "") Then
Dim s As New TextBox
s.ID = name & "min"
s.EnableViewState = True
Panel1.Controls.Add(s)
Panel1.Controls.Add(New LiteralControl(" and "))
Dim t As New TextBox
t.ID = name & "max"
t.EnableViewState = True
Panel1.Controls.Add(t)
End If
If condition = "cn" And translation = "" And Not name = "features" Then
Dim d As New DropDownList
d.ID = name & "cn"
d.EnableViewState = True
d.Items.Add("Contains")
Panel1.Controls.Add(d)
End If
If condition = ">=" Or condition = "<=" Or condition = ">" Or condition = "<" Then
Dim d As New DropDownList
d.ID = name & "cn"
d.EnableViewState = True
d.Items.Add(condition)
Panel1.Controls.Add(d)
End If
If condition = "=" And translation = "YNU" Then
Dim d As New DropDownList
d.ID = name
d.EnableViewState = True
d.Items.Add("Yes")
d.Items.Add("No")
d.Items.Add("Unknown")
Panel1.Controls.Add(d)
End If
If condition = "cn" And translation = "UPPERSPACE" Then
Dim t As New TextBox
t.ID = name
t.EnableViewState = True
Panel1.Controls.Add(t)
End If
If condition = "=" And translation = "UPPERSPACE" Then
Dim t As New TextBox
t.ID = name
t.EnableViewState = True
Panel1.Controls.Add(t)
End If
End Function
Private Sub ddsearch2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddsearch2.SelectedIndexChanged
If InStr(Session("SearchItems"), Trim(ddsearch2.SelectedValue)) And Not Trim(ddsearch2.SelectedValue) = "Baths" Then
lblExists.Visible = True
FillPanel()
Exit Sub
Else
lblExists.Visible = False
End If
Dim stype As String
Dim conn As String
Dim appsetting As NameValueCollection = CType(HttpContext.Current.GetConfig("appSettings"), NameValueCollection)
conn = CStr(appsetting("dsnNH"))
Dim myConnection As SqlConnection = New SqlConnection(conn)
Dim dsLogin As SqlCommand = New SqlCommand("select type from search_tree where class_filter like '1%' and name='" & Trim(ddsearch2.SelectedValue) & "'", myConnection)
Dim ds As SqlDataReader
myConnection.Open()
ds = dsLogin.ExecuteReader()
Do While ds.Read()
stype = Trim(ds("type").ToString())
Loop
ds.Close()
myConnection.Close()
If stype = "H" Then
Private Sub ddSearch3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddSearch3.SelectedIndexChanged
Dim conn As String
Dim appsetting As NameValueCollection = CType(HttpContext.Current.GetConfig("appSettings"), NameValueCollection)
conn = CStr(appsetting("dsnNH"))
Dim myConnection As SqlConnection = New SqlConnection(conn)
Dim dsLogin3 As SqlCommand = New SqlCommand("select name,sys_name,condition,vi_translation,vi_type from search_tree where name='" & Trim(ddsearch2.SelectedValue) & "' and class_filter like '1%'", myConnection)
Dim ds3 As SqlDataReader
myConnection.Open()
ds3 = dsLogin3.ExecuteReader()
Do While ds3.Read()
Session("SearchItems") = Session("SearchItems") & "," & ds3("name").ToString()
Session("sys_name") = Session("sys_name") & "," & ds3("sys_name").ToString()
Session("condition") = Session("condition") & "," & ds3("condition").ToString()
'Session("val1") = Session("val1") & "," & ds3("min").ToString()
'Session("val2") = Session("val2") & "," & ds3("max").ToString()
Session("vi_type") = Session("vi_type") & "," & ds3("vi_type").ToString()
Session("vi_translation") = Session("vi_translation") & "," & ds3("vi_translation").ToString()
Session("ttlitems") = Session("ttlitems") + 1
Loop
FillPanel()
ds3.Close()
myConnection.Close()
End Sub
Function FillPanel()
Dim name(20) As String
Dim s_name(20) As String
Dim cond(20) As String
Dim v1(20) As String
Dim v2(20) As String
Dim vityp(20) As String
Dim vitrans(20) As String
Dim i As Integer
name = Split(Session("SearchItems"), ",")
s_name = Split(Session("sys_name"), ",")
cond = Split(Session("condition"), ",")
v1 = Split(Session("val1"), ",")
v2 = Split(Session("val2"), ",")
vityp = Split(Session("vi_type"), ",")
vitrans = Split(Session("vi_translation"), ",")
For i = 0 To (Session("ttlitems") - 1)
Panel1.Controls.Add(New LiteralControl("<table>"))
Dim l As New Label
l.ID = s_name(i) & "lbl" & i
l.Text = name(i)
'label1.EnableViewState = True
'l.Font.Name = "Ms sans Serif;10pt"
Panel1.Controls.Add(New LiteralControl("<tr><td align=left width=150>"))
Panel1.Controls.Add(l)
Panel1.Controls.Add(New LiteralControl("</td><td>"))
getcondition(vityp(i), name(i), s_name(i), cond(i), vitrans(i))
'getsearch(ds("sys_name").ToString() & "cn", ds("condition").ToString(), ds("vi_translation").ToString())
Panel1.Controls.Add(New LiteralControl("</td></tr>"))
Panel1.Controls.Add(New LiteralControl("</table>"))
Next
End Function