/// <summary> /// Fired when the scroll horizontal posizion change /// </summary> /// <param name="e"></param> protected virtual void OnHScrollPositionChanged(ScrollPositionChangedEventArgs e) { if (HScrollPositionChanged != null) { HScrollPositionChanged(this, e); } }
/// <summary> /// the grid has been scrolled vertically, different rows need to be displayed /// </summary> /// <param name="e"></param> protected override void OnVScrollPositionChanged(SourceGrid.ScrollPositionChangedEventArgs e) { Int32 TopRowNumber; Int32 BottomRowNumber; Int32 Counter; Int32 CheckPage; Int32 LastCheckedPage = -1; base.OnVScrollPositionChanged(e); // TLogging.Log("OnVScrollPositionChanged. PageSize: " + FPageSize.ToString()); if (FPageSize != 0) { TopRowNumber = this.RangeAtArea(CellPositionType.Scrollable).Start.Row - 1; // this.ScrollablePanel.RangeAtDisplayRect(this.ScrollablePanel.ClientRectangle).Start.Row - 1; BottomRowNumber = this.RangeAtArea(CellPositionType.Scrollable).End.Row - 1; // this.ScrollablePanel.RangeAtDisplayRect(this.ScrollablePanel.ClientRectangle).End.Row - 1; // Need to increase BottomRowNumber by one to cater for possibly // partly visible next Grid Row that the user could scroll to without // causing an OnVScrollPositionChanged Event! BottomRowNumber = BottomRowNumber + 1; // TLogging.Log("OnVScrollPositionChanged: TopRowNumber: " + TopRowNumber.ToString() + "; BottomRowNumber: " + BottomRowNumber.ToString()); for (Counter = TopRowNumber; Counter <= BottomRowNumber; Counter++) { CheckPage = (int)((float)Counter / (float)FPageSize); // TLogging.Log("OnVScrollPositionChanged: CheckPage: " + CheckPage.ToString()); if ((CheckPage != LastCheckedPage) && (CheckPage < FTotalPages)) { // TLogging.Log("OnVScrollPositionChanged: Checking if Page #" + CheckPage.ToString() + " is already transfered..."); if (!FTransferredDataPages.Contains(CheckPage)) { // TLogging.Log("OnVScrollPositionChanged: Page #" + CheckPage.ToString() + " is NOT transfered yet, requesting it from PetraServer..."); LoadSingleDataPage(CheckPage); } LastCheckedPage = CheckPage; } } } }
/// <summary> /// OnVScrollPositionChanged /// </summary> /// <param name="e"></param> protected override void OnVScrollPositionChanged(ScrollPositionChangedEventArgs e) { base.OnVScrollPositionChanged (e); ArrangeLinkedControls(); }
/// <summary> /// Fired when the scroll vertical posizion change /// </summary> /// <param name="e"></param> protected virtual void OnVScrollPositionChanged(ScrollPositionChangedEventArgs e) { if (VScrollPositionChanged!=null) VScrollPositionChanged(this,e); }