Sub maketreeview()
Dim strMajcat As String
Dim strSubcat As String
Dim strFeatureName As String
strMajcat = "Select distinct majcat from featurecd order by 1"
strSubcat = "Select distinct subcat, majcat, rtrim(majcat)+rtrim(subcat) as bothcat from featurecd order by 3"
strFeatureName = "Select featurename,sorder,subcat,majcat,rtrim(majcat)+rtrim(subcat) as bothcat,featurecd from featurecd order by 5,2"
Dim nodeMajCat As Microsoft.Web.UI.WebControls.TreeNode
Dim nodeSubcat As Microsoft.Web.UI.WebControls.TreeNode
Dim nodefeaturename As Microsoft.Web.UI.WebControls.TreeNode
Dim conc2a As System.Data.sqlclient.SqlConnection
Dim cmMajCat As SqlClient.SqlDataAdapter
Dim cmSubcat As SqlClient.SqlDataAdapter
Dim cmfeaturename As SqlClient.SqlDataAdapter
Dim ds As DataSet
Dim rowMajCat As DataRow
Dim rowSubcat As DataRow
Dim rowfeaturename As DataRow
conc2a = New System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("KeyConc2a"))
ds = New DataSet
conc2a.Open()
'Add 3 tables to the dataset
cmMajCat = New SqlClient.SqlDataAdapter(strMajcat, conc2a)
cmMajCat.Fill(ds, "MajCat")
cmSubcat = New SqlClient.SqlDataAdapter(strSubcat, conc2a)
cmSubcat.Fill(ds, "SubCat")
cmfeaturename = New SqlClient.SqlDataAdapter(strFeatureName, conc2a)
cmfeaturename.Fill(ds, "featurename")
'Create a relation between the 3 tables
ds.Relations.Add("MajSub", _
ds.Tables("MajCat").Columns("majcat"), _
ds.Tables("SubCat").Columns("majCat"))
ds.Relations.Add("SubName", _
ds.Tables("SubCat").Columns("bothcat"), _
ds.Tables("featurename").Columns("bothcat"))
' populate the treeview from the dataset
For Each rowMajCat In ds.Tables("majcat").Rows
nodeMajCat = New Microsoft.Web.UI.WebControls.TreeNode
nodeMajCat.Text = rowMajCat("majcat")
TVfeatures1.Nodes.Add(nodeMajCat)
For Each rowSubcat In rowMajCat.GetChildRows("majsub")
nodeSubcat = New Microsoft.Web.UI.WebControls.TreeNode
nodeSubcat.Text = rowSubcat("subcat")
nodeMajCat.Nodes.Add(nodeSubcat)
For Each rowfeaturename In rowSubcat.GetChildRows("subname")
nodefeaturename = New Microsoft.Web.UI.WebControls.TreeNode
nodefeaturename.Text = RTrim(rowfeaturename("featurename")) + " #" + (rowfeaturename("featurecd").ToString)
nodefeaturename.CheckBox = True
nodefeaturename.Checked = True
nodeSubcat.Nodes.Add(nodefeaturename)
Next
Next
Next
'Clean up.
ds.Dispose()
cmMajCat.Dispose()
cmSubcat.Dispose()
conc2a.Close()
conc2a.Dispose()
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub appendrecord()
Dim conc2a As System.Data.SqlClient.SqlConnection
conc2a = New SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("KeyConc2a"))
conc2a.Open()
Dim majNode As Microsoft.Web.UI.WebControls.TreeNode
Dim subNode As Microsoft.Web.UI.WebControls.TreeNode
Dim featureNode As Microsoft.Web.UI.WebControls.TreeNode
Dim justcd As Array
Dim thekey As String
'lblselections.Text = ""
For Each majNode In TVfeatures1.Nodes
For Each subNode In majNode.Nodes
For Each featureNode In subNode.Nodes
'''''''''''''''''''''''''''''''''''''''''''''''''''' next line sometimes is correct and sometime not
If featureNode.Checked = True Then
'lblselections.Text &= "" & featureNode.Text
justcd = featureNode.Text.Split("#")
'justcd(1)
' write a record to features with info from treeview and the text of ckbxfeaturecd
thekey = justcd(1)
Dim cmdfeaturesInsert = New System.Data.SqlClient.SqlCommand
cmdfeaturesInsert = New SqlClient.SqlCommand
cmdfeaturesInsert.commandtext = "INSERT INTO features(listingid,featurecd) " & _
"Values (@listingid,@featurecd)"
cmdfeaturesInsert.Connection = conc2a
cmdfeaturesInsert.Parameters.Add("@listingid", System.Data.SqlDbType.VarChar, 8).Value = mlistingid
cmdfeaturesInsert.Parameters.Add("@featurecd", System.Data.SqlDbType.VarChar, 8).Value = thekey
Dim x As Integer
x = cmdfeaturesInsert.ExecuteNonQuery()
End If
Next
Next
Next
conc2a.Close()
End Sub