Hello All,
I have a user define class,
<Serializable()> Public Class City
Public Name As String = ""
Public State As String = ""
Public URL As String = ""
Public Sub New(ByVal state As String, ByVal name As String, ByVal url As String)
me.State = state
me.Name = name
me.URL = url
End Sub
Public Function isValid() As Boolean
If me.Name <> "" And _
me.State <> "" And _
me.URL <> "" Then
Return True
Else
Return False
End If
End Function
Public Function ToSmallListViewItem() As ListViewItem
Dim item As New ListViewItem
item.SubItems.Add(me.State)
item.SubItems.Add(me.Name)
item.Tag = Me
Return item
End Function
End Class
From the last member function you can guess that I want to display lists of instances of this class in a listview control. Here is the code. It is a member of the main form of the application that owns the listview
Private Sub LoadMasterCityList()
lvMasterCityList.Items.Clear()
'master cities is an element of a wrapper class for List(Of City)
'even when I bypass the wrapper and deal directly with the list as below
'it doesn't work
MasterCities = Cities.Load(Settings.strMasterCityListFile) 'this just loads from a file
For Each CityItem As City In MasterCities.CityList
'this is the listview control
lvMasterCityList.Items.Add(CityItem.ToSmallListViewItem())
Next
The problem is that the listview doesn't display the input. It has two columns as required by City.ToSmallListViewItem()
method and is set to visible. It creates a scrollbar and I can highlight empty elements of it and scroll around. I just cant see the text. I am positive that the data is valid as it is sent to the LoadMasterCityList
method, for example I have used MsgBox
's to print the contents of each CityItem
both before and after the call to CityItem.ToSmallListViewItem()
so I am sure that the data is write. Does anyone have any idea what can cause this behavior? I am stumped! All I have been able to find is that setting the checkbox property to true can cause a listbox too not render but I am not doing that and that is only applicable if its in large image or small image mode. It's in list mode anyway so thats not it.
Thanks in advance
Aaron