2013-07-30 3 views
1

Загрузить больше данных, если полоса прокрутки достигнута в последней строке в DevExpressGridControl с использованием wpf? У меня есть 100 строк в моем GridControl в DevExpress, но я хочу загрузить 20 в момент загрузки, а следующие 20 данных будут загружаться при прокрутке вниз в GridControl. В принципе, я хочу событие GridControl, когда GridControl Полоса прокрутки достигнута в последней строке, загрузятся следующие 20 данных, так же как и решение, пожалуйста, помогите мне.Загрузите больше данных, если в последней строке в строке заголовка прокрутки находится строка в DevExpress GridControl с использованием wpf?

Любая помощь будет оценена!

ответ

1

Вы можете создать для этого поведение и прикрепить его к TableView, находящемуся под GridControl. Кроме того, вы можете предоставить команду для выполнения поведения, когда дона достигнута с помощью прикрепленного свойства. Надеюсь это поможет.

public class IsScrolledToBottomBehavior : Behavior<TableView> 
{ 
    protected override void OnAttached() 
    { 
     base.OnAttached(); 
     AssociatedObject.AddHandler(ScrollViewer.ScrollChangedEvent, new ScrollChangedEventHandler(OnScrollChanged)); 
    } 

    protected override void OnDetaching() 
    { 
     base.OnDetaching(); 
     AssociatedObject.RemoveHandler(ScrollViewer.ScrollChangedEvent, new ScrollChangedEventHandler(OnScrollChanged)); 
    } 

    private void OnScrollChanged(object sender, ScrollChangedEventArgs e) 
    { 
     if(((ScrollViewer)e.OriginalSource).VerticalOffset == ((ScrollViewer)e.OriginalSource).ScrollableHeight) 
     { 
      // do rows loading here 
     } 
    } 
}