Hi I have several pages with flexgrids which work perfectly well on the first time of asking when I try to open the page again the flexgrids are all blank.
This is the code when the page appears
[CODE lang="b4x" title="Flexgrid sub routine"]Private Sub B4XPage_Appear
Try
FlexGrid1.ClearRows
FlexGrid1.ColsName = Array As String("ID", "Select", "User Name", "Company")
FlexGrid1.HeaderFont = xui.CreateDefaultBoldFont(16)
FlexGrid1.ColsWidth = Array As Int(0, 20%x, 40%x, 40%x)
FlexGrid1.ColsType = Array As Int(FlexGrid1.TypeInt, FlexGrid1.TypeCheck, FlexGrid1.TypeString, FlexGrid1.TypeString)
FlexGrid1.ColsAlignment = Array As String("CENTER","CENTER","LEFT","LEFT")
GetUsers
Catch
Log(LastException)
End Try
End Sub[/CODE]
And this is the code that populates the flexgrid
[CODE lang="b4x" title="Populate Flexgrid"] Dim job As HttpJob
job.Initialize("Job1", Me)
job.PostString(Main.URL & "GetUsers.asmx", xml)
job.GetRequest.SetContentType("text/xml; charset=utf-8")
job.GetRequest.SetHeader("Content-Type", "text/xml; charset=utf-8")
wait for (job) JobDone(job As HttpJob)
If job.Success Then
Dim parser As JSONParser
Dim response As String = job.GetString
Dim s As String = response
s = s.Substring2(0, s.LastIndexOf("}") + 2)
parser.Initialize(s)
Dim R As List
R.Initialize
R = parser.NextObject
For Each colroot As Map In R
FlexGrid1.AddRow2(Array As Object(colroot.Get("ID"), False, colroot.Get("UserName"), colroot.Get("Company")), 40dip, True)
Next
Else
Main.Toast.ToastMessageShow("There has been an error getting list of users!", False)
End If
job.Release[/CODE]
As I say works perfectly first time round but not when I open the page again even though it runs through the code OK
Any ideas?
Regards
David
OK found the problem you must use 'numberdip' i.e. 150dip instead of percentage i.e. 40%x