Sub DrawListView
For i = SV.Panel.NumberOfViews-1 To 0 Step -1
SV.Panel.RemoveViewAt(i)
Next
Dim ItemHeight As Int
ItemHeight = 40dip
Dim ChildOffset As Int
ChildOffset = 0dip
Dim pHeight As Int
pHeight = 0
For i = 0 To ExpandableList.Size-1
Dim item As ExpListViewItem
item = ExpandableList.Get(i)
If item.IsParent = True Then
If item.p.IsInitialized Then
SV.Panel.AddView(item.p,0,pHeight,100%x,ItemHeight)
Else
item.p.Initialize("pnl")
SV.Panel.AddView(item.p,0,pHeight,100%x,ItemHeight)
ConstructPanel(item,item.p)
End If
pHeight = pHeight + ItemHeight
End If
If item.Expanded=True Then
For j = 0 To ExpandableList.Size-1
Dim childitem As ExpListViewItem
childitem = ExpandableList.Get(j)
If childitem.childto = item.id Then
If childitem.p.IsInitialized Then
SV.Panel.AddView(childitem.p,ChildOffset,pHeight,100%x-ChildOffset ,ItemHeight)
Else
childitem.p.Initialize("pnl")
SV.Panel.AddView(childitem.p,ChildOffset,pHeight,100%x-ChildOffset ,ItemHeight)
ConstructPanel(childitem,childitem.p)
End If
pHeight = pHeight + ItemHeight
End If
Next
End If
Next
SV.Panel.Height = pHeight
End Sub