Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Private xui As XUI
Private table1 As B4XTable
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
MainForm.RootPane.LoadLayout("Layout1")
MainForm.Show
table1.MaximumRowsPerPage=2
table1.AddColumn("co1", table1.COLUMN_TYPE_NUMBERS)
table1.AddColumn("col2", table1.COLUMN_TYPE_NUMBERS)
table1.AddColumn("col3", table1.COLUMN_TYPE_NUMBERS)
Dim data As List
data.Initialize
data.Add(Array(1, 6, 5))
data.Add(Array(2, 5, 8))
data.Add(Array(7, 2, 1))
data.Add(Array(9, 6, 3))
table1.SetData(data)
End Sub
Private Sub table1_DataUpdated
' https://www.b4x.com/android/forum/threads/solved-how-to-change-the-color-of-a-b4xtable-row-according-to-content-and-then-disable-it.115988/#content
' change cell background colour based on value being above targetMax
For j=0 To table1.Columns.Size-1
Log(j)
Dim col As B4XTableColumn = table1.Columns.Get(j)
For i = 0 To table1.VisibleRowIds.Size - 1
Dim RowId As Long = table1.VisibleRowIds.Get(i)
Log(RowId)
Dim Value As Float = table1.GetRow(RowId).Get(col.Id)
Dim pnl As B4XView = col.CellsLayouts.Get(i+1)
SetCellColour(pnl, NumberFormat(Value, 1, 4))
Next
Next
End Sub
'if high then set red
Private Sub SetCellColour (pnl As B4XView, value As Double)
If value > 5 Then
pnl.Color=xui.Color_RGB(255, 129, 129)
Else
pnl.Color=xui.Color_Transparent
End If
End Sub