Sub myListView_VisibleRangeChanged (FirstIndex As Int, LastIndex As Int)
Dim ExtraSize As Int = 20
Dim n As Int = myListView.Size-1
For i = 0 To n
Dim p As B4XView = myListView.GetPanel(i)
If i > FirstIndex - ExtraSize And i < LastIndex + ExtraSize Then
'visible+
If p.NumberOfViews = 0 Then
Dim iv As mySaleReportValue = myListView.GetValue(i)
p.LoadLayout("2")
p.SetLayoutAnimated(0,0,0,100%x,40dip)
mySNo.Text = iv.mySNo
myVNo.Text = iv.myVNo
myName.Text = iv.myName
myDigit.Text= iv.myDigit
myUnit.Text=iv.myUnit
myRowID.Text= iv.myRowID
'Log("SNo: " & i & " " & iv.myDigit)
End If
Else
'not visible
If p.NumberOfViews > 0 Then
p.RemoveAllViews
End If
End If
Next
End Sub