'get all needed records from database ..
'loop thru the records , populate a map or array and pass to CreateListItem sub.
For i = 0 to Cursor.Rowcount -1
myMap.Put("product", Cursor.GetString("product_name"))
'..................... more code
clv1.Add(CreateListItem(myMap, clv1.AsView.Width, 70dip), 70dip, $"Item #${i}"$)
Next
Sub CreateListItem(m as Map, Width As Int, Height As Int) As Panel
Dim p As Panel
'.......................... more code
lblProduct.Text = m.Get("product")
lblPrice.Text = NumberFormat2(m.Get("price", 0, 0, 2, False)