' Load Purchasing screen
Dim SenderFilter As Object = sqlDB.ExecQueryAsync("SQL", "SELECT * FROM Purchasing", Null)
Wait For (SenderFilter) SQL_QueryComplete (Success As Boolean, rs As ResultSet)
If Success Then
Dim iTag As Int = 1
Do While rs.NextRow
Dim PurchaseItem As typPurchase
PurchaseItem.UnitName = rs.GetString("unitname")
' cost = 30, 12, 15, 15, 3, 4, 4, 6, 5, 10, 11, 12, 20, 16, 12, 8, 6, 7
PurchaseItem.Cost = rs.GetString("cost")
lsvPurchasing.Add(CreatePurItem(iTag, lsvPurchasing.AsView.Width, 70dip), PurchaseItem)
mapIPCExpended.Put(iTag, PurchaseItem.Cost)
iTag = iTag + 1
Loop
rs.Close
Else
Log(LastException)
End If
...
Sub Purchasing_ValueChanged(Value As Object)
Dim pm As B4XPlusMinus = Sender
If *increment* Then
iIPCExpended = iIPCExpended + mapIPCExpended.Get(pm.Tag)
Else If *decrement* Then
iIPCExpended = iIPCExpended - mapIPCExpended.Get(pm.Tag)
End If
lblIPCExpended.Text = iIPCExpended
End Sub