Page 1 of 1

Bug when using paging?

Posted: Mon Dec 14, 2009 3:34 am
by 15054756
I'm adding 2 series to the chart - a bar and line series. I've also enabled paging so I can scroll through the data.

I've noticed that when the last page only has 1 data item (e.g. 21 items with 10 items per page would mean the third page only has 1 item on it) then the values for ALL the columns appear on the last item.

I've taken a very small snippet of the chart with the last item on the last page appearing. You can see that with the markings enabled, there is numerous markers for the last bar + line series.

Is this a known issue and will it be fixed? Is there some kind of use able work-around for it?

Thank you

Re: Bug when using paging?

Posted: Mon Dec 14, 2009 11:13 am
by yeray
Hi

I could reproduce it and I've added this to the bug list to be fixed in future releases (TV52014593).
Note that there is another (known, TV52014098) problem that is that the first bar of the "next" page is partially shown (and also the last bar of the "previous" page).

The a workaround for both problems consist on hiding the bars that you don't want to be drawn setting them as null points:

Code: Select all

Private Sub Form_Load()
  TeeCommander1.Chart = TChart1
 
  TChart1.Aspect.View3D = False
  TChart1.AddSeries scBar
  
  TChart1.Series(0).FillSampleValues 11
  
  TChart1.Page.MaxPointsPerPage = 2
  
  SetNulls
End Sub

Private Sub Next_Click()
  TChart1.Page.Next
    
  SetNulls
End Sub

Private Sub Previous_Click()
  TChart1.Page.Previous
  
  SetNulls
End Sub

Private Sub SetNulls()
  Dim i As Integer
  For i = 0 To TChart1.Series(0).Count - 1
    TChart1.Series(0).PointColor(i) = TChart1.Series(0).Color
  Next i
  
  If TChart1.Page.Current > 1 And TChart1.Page.Current <> TChart1.Page.Count Then
    TChart1.Series(0).SetNull (TChart1.Page.Current - 1) * TChart1.Page.MaxPointsPerPage - 1
  End If
  
  If TChart1.Page.Current < TChart1.Page.Count Then
    TChart1.Series(0).SetNull (TChart1.Page.Current) * TChart1.Page.MaxPointsPerPage
  End If
  
  If TChart1.Page.Current = TChart1.Page.Count And TChart1.Series(0).Count Mod TChart1.Page.MaxPointsPerPage = 1 Then
    For i = 0 To TChart1.Series(0).Count - 2
      TChart1.Series(0).SetNull i
    Next i
  End If
End Sub
Note that another possibility would stop using TeeChart paging feature and doing it manually with SetMinMax function. This would work around the problem with the last page with a unique bar, but not with the other problem.

Re: Bug when using paging?

Posted: Thu Sep 30, 2010 1:12 pm
by yeray
Hello,

I've checked this with the TeeChart ActiveX v2010 Beta recently published and I can confirm that both problems have been solved with it.