Sub B4XTable1_DataUpdated
Dim ScrollViewParent As B4XView
ScrollViewParent = B4XTable1.clvData.sv.Parent
Dim B4XTableMsgExists As Boolean
Dim pnlB4XTableMsg As B4XView
For Each xSomeView As B4XView In ScrollViewParent.GetAllViewsRecursive
If xSomeView.Tag = "No matches panel" Then
pnlB4XTableMsg = xSomeView
B4XTableMsgExists = True
Exit
End If
Next
If B4XTableMsgExists Then
pnlB4XTableMsg.Visible = False
End If
Dim mLastRowIndex As Int
mLastRowIndex = GetB4XTableLastRowIndex(B4XTable1)
If mLastRowIndex = - 1 Then
If B4XTableMsgExists Then
pnlB4XTableMsg.Visible = True
Else
pnlB4XTableMsg = xui.CreatePanel("")
pnlB4XTableMsg.Tag = "No matches panel"
pnlB4XTableMsg.SetLayoutAnimated(0, B4XTable1.clvData.sv.Left, B4XTable1.clvData.sv.Top, B4XTable1.clvData.sv.Width, B4XTable1.clvData.sv.Height)
pnlB4XTableMsg.Color = xui.Color_Red
Dim lblB4XTableMsg As Label
lblB4XTableMsg.Initialize("")
Dim B4XTableLabelLeft, B4XTableLabelTop, B4XTableLabelWidth, B4XTableLabelHeight As Int
B4XTableLabelWidth = 100dip
B4XTableLabelHeight = 50dip
B4XTableLabelLeft = (pnlB4XTableMsg.Width - B4XTableLabelWidth) / 2
B4XTableLabelTop = (pnlB4XTableMsg.Height - B4XTableLabelHeight) / 2
pnlB4XTableMsg.AddView(lblB4XTableMsg, B4XTableLabelLeft, B4XTableLabelTop, B4XTableLabelWidth, B4XTableLabelHeight)
lblB4XTableMsg.Text = "No data"
ScrollViewParent.AddView(pnlB4XTableMsg,B4XTable1.clvData.sv.Left, B4XTable1.clvData.sv.Top, B4XTable1.clvData.sv.Width, B4XTable1.clvData.sv.Height)
End If
End If
End Sub
Public Sub GetB4XTableLastRowIndex(tbl As B4XTable) As Int
Dim r As Reflector
r.Target = tbl
Return r.GetField("_mlastrowindex")
End Sub