Hello everyone,
I am in a bit of a dilema trying to write an HTML <br> tag into a panel or
placeholder.
Here is the situation
I have 4 tables that represent 4 levels of data (level4 is linked to a
level3 etc) all the way up to a level 1
Example
Level1
Level2a
Level2b
Level3a
Level3B
Level4a
Level4b
Level2c
I am using a datalist to contain these 4 levels, but I want to recreate a
tree like structure so that the user can easily see what level2's are in a
level1 as well as select a particular level to see its details.
The link buttons work fine but I am unable to get the levels to look right.
So I looked at trying to add a BR tag at the end of each level but it does
not seem to be working.
This is the result that I am getting:
Level1Level2aLe vel........
When I look at the View Source on the web page the <br> tags are NOT there.
What am I doing wrong?
I thought about trying to use HtmlTextWriter, but I have NO idea how that
works and the examples in VS are not very explicit.
Any help would be much appreciated... I am even open to other ways to create
this tree like structure.
BTW - I am using VS 2003.
Here is the code that I have created so far for my datalist itemdatabound:
Private Sub dlstMaster_Item DataBound(ByVal sender As Object, ByVal e As
System.Web.UI.W ebControls.Data ListItemEventAr gs) Handles
dlstMaster.Item DataBound
Dim dv As DataRowView = e.Item.DataItem
Dim spacer As New LiteralControl( "<br>")
Dim level1linkbutto n As New LinkButton
Dim level1panel As PlaceHolder = e.Item.FindCont rol("Level1Pane l")
level1linkbutto n.Text = dv("Level1Name" )
level1linkbutto n.CommandArgume nt = dv("Level1Id"). ToString
level1linkbutto n.CommandName = "Level1Clic k"
level1panel.Con trols.Add(level 1linkbutton)
level1panel.Con trols.Add(space r)
Dim ds As New DataSet
ds = Session("ds")
If Not dv Is Nothing Then
Dim level2dv As DataView
level2dv = dv.CreateChildV iew("level2")
Dim row As DataRowView
For Each row In level2dv
Dim level2linkbutto n As New LinkButton
level2linkbutto n.Text = row("Level2Name ")
level2linkbutto n.CommandArgume nt = row("Level2Id") .ToString
level2linkbutto n.CommandName = "Level2Clic k"
level1panel.Con trols.Add(level 2linkbutton)
level1panel.Con trols.Add(space r)
' Now loop through the level 3 details
Dim level3dv As DataView
level3dv = New DataView(ds.Tab les("AllLevel3" ), "Level2Id =
'" & row("Level2Id") .ToString & "'", "Level3Name ",
DataViewRowStat e.CurrentRows)
Dim level3row As DataRowView
For Each level3row In level3dv
Dim level3linkbutto n As New LinkButton
level3linkbutto n.Text = level3row("Leve l3Name")
level3linkbutto n.CommandArgume nt =
level3row("Leve l3Id").ToString
level3linkbutto n.CommandName = "Level3Clic k"
level1panel.Con trols.Add(level 3linkbutton)
level1panel.Con trols.Add(space r)
' now get the level 4's
Dim level4dv As DataView
level4dv = New DataView(ds.Tab les("AllLevel4" ),
"Level3Id = '" & level3row("Leve l3Id").ToString & "'", "Level4Name ",
DataViewRowStat e.CurrentRows)
Dim level4row As DataRowView
For Each level4row In level4dv
Dim level4linkbutto n As New LinkButton
level4linkbutto n.Text = level4row("Leve l4Name")
level4linkbutto n.CommandArgume nt =
level4row("Leve l4Id").ToString
level4linkbutto n.CommandName = "Level4Clic k"
level1panel.Con trols.Add(level 4linkbutton)
level1panel.Con trols.Add(space r)
Next
Next
Next
End If
End Sub
The problem is that when I add the spacer control (a literal control with
the BR in it) it is not added into the placeholder. I have tried to use a
panel, with the same effect