Thanks for the sample.
When your list is empty, then grid needs to be able to get at the type of the objects in the list in order to initialize the associated property descriptors properly. In your collection, you added an attribute to indicate the type of the object in the collection. But Essential Grid does not look for this type of attribute. Instead, it relies on the collection implementing ITypedList to enable it to handle empty lists as datasources. So, I was able to get you sample working by adding
Implements System.ComponentModel.ITypedList
and
Public Function GetItemProperties(ByVal listAccessors() As System.ComponentModel.PropertyDescriptor) As System.ComponentModel.PropertyDescriptorCollection Implements System.ComponentModel.ITypedList.GetItemProperties
Return System.ComponentModel.TypeDescriptor.GetProperties(GetType(Blah))
End Function
Public Function GetListName(ByVal listAccessors() As System.ComponentModel.PropertyDescriptor) As String Implements System.ComponentModel.ITypedList.GetListName
Return "Blah"
End Function
to your collection class.