DEVExpress For WPF 中GridControl如何实现滚动分页(延迟查询)

在显示大量数据时一般采用分页显示,但是最近用户需要滚动显示,那么问题来了,滚动显示要求将数据全部查询回来,这显然会导致显示速度很慢。

好在想到一种方式,就是当用户滚动鼓动条的时候再查询下面的数据。好吧 不多说了 上代码

private void GridControl_ScrollChanged(object sender,ScrollChangedEventArgs e){
    if(e.ViewprotHeight!=e.ExtentHeight&&e.ExtentHeight!=0)//这里判断是不是当前高度就可以显示并且当前有数据显示
        if(e.VerticalOffset+e.ViewProtHeight>=e.ExtentHeight*0.9)//这里判断显示区域底部是不是到达了整体区域的90%
        {
            if(Page*10<=DataSource.count){
                //这里查询下一页数据 并将数据追加到数据源尾部
            }
        }
}    

前台绑定只需要这么写就可以ScrollViewer.ScrollChanged = "GridControl_ScrollChanged"

好了 这样就可以了

时间: 2024-11-05 16:09:44

DEVExpress For WPF 中GridControl如何实现滚动分页(延迟查询)的相关文章

Devexpress for WPF Grid分页

Devexpress for WPF中没有找到分页控件,列表数据太多,不分页肯定是不行的,所以就写了一个. 感觉还不错.这里跟大家分享一下 思路说明:首先创建自定义控件,控制好分页效果等.核心的位置便是分页信息与Grid的交互,这里使用事件委托完成. 分页控件做成这个效果,比较粗糙,后面有时间在更新一下. 界面代码就不上传了. 后台代码给大家看看: public DataPager() { InitializeComponent(); cboPageSize.SelectionChanged +

devexpress中gridcontrol 一些样式改变

改变footer为扁平化效果 整个footer背景色CustomDrawFootere.Appearance.BackColor = Color.Transparent; e.Appearance.DrawBackground(e.Graphics, e.Cache, e.Bounds); e.Handled = true; 单个列footer背景CustomDrawFooterCelle.Appearance.BackColor = Color.Lavender; e.Appearance.D

DevExpress中GridControl的属性设置

1.隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值 sValue=Table.Rows[gridView1.FocusedRowHandle][FieldName].ToString(); 3.数据只读 gridView1.OptionsBehavior.Editable=false; 4.不显示MasterDetailView gridView1.OptionsDetail.EnableM

devexpress中gridcontrol头部添加垂直线(右边框)

winform开发,用devexpress中的gridcontrol控件,头部默认是3D样式,当客户希望像内容一样扁平化显示且需要添加垂直线(右边框)时恶梦开始了..经过一阵摸索发现可以这样解决: 1.设置GridControl的GridView控件的PaintStyleName属性为Web 2.为GridControl的GridView控件添加CustomDrawColumnHeader事件,参考代码如下: private void gridView1_CustomDrawColumnHead

WPF中ListBox滚动时的缓动效果

原文:WPF中ListBox滚动时的缓动效果 上周工作中遇到的问题: 常规的ListBox在滚动时总是一格格的移动,感觉上很生硬. 所以想要实现类似Flash中的那种缓动的效果,使ListBox滚动时可以很流畅. 修改模板里的动画效果是一种方法,不过这里有更简单的,WPF为我们提供了行为代码,可以编辑在ListBox的ItemsPanelTemplate模板中,实现方法如下: 右键ListBox选择"编辑其它模板"->"辑项的布局"->"编辑副

WPF datagrid/gridcontrol 中选中多行,复制粘贴到excel或其他文本编辑器中

wpf中 data grid 开启自带的选中,然后复制,可以到excel中直接粘贴,在某些业务场景中很实用,方便.开启也很简单: SelectionMode="Row" 加上这个,按ctrl或shift然后鼠标单击行选中 <dxg:GridControl x:Name="user_GridControl" SelectionMode="Row" > </dxg:GridControl> 原文地址:https://www.c

devexpress表格控件gridcontrol特殊应用(一)——实现禁用特定行(附源代码)

一些特殊的项目中会存在一些特殊需求,如需要禁用特定行.这时候gridcontrol的一般属性是实现不了的,就需要做一些更改.这时候你就需要去devexpress官网中找寻些资料(官网https://www.devexpress.com),本文案例源自官网参考. 1.禁用特定行的效果图: 运行之后,划删除线的行为禁用行,无法进行修改等操作. 2.绑定数据代码: DataTable tbl = new DataTable(); tbl.Columns.Add("Name", typeof(

【WPF】GridControl的使用

一.前言 在WPF中我们常常使用DataGrid来显示数据,在Dev中也有一个类似的控件-GridControl. 二.范例 <dxg:GridControl Grid.Row="1" ItemsSource="{Binding SelectedSummaryInfos}" Margin ="5" > <dxg:GridControl.View > <dxg:TableView Name="SummaryT

在WPF中使用PlaneProjection模拟动态3D效果

原文:在WPF中使用PlaneProjection模拟动态3D效果 虽然在WPF中也集成了3D呈现的功能,在简单的3D应用中,有时候并不需要真实光影的3D场景.毕竟使用3D引擎会消耗很多资源,有时候使用各种变换和假的阴影贴图也能设计出既省资源,又有很好用户体验的“伪”3D界面. 在Silverlight中,因为性能问题,一般并不使用真3D引擎,微软为Silverlight提供了System.Windows.Media.PlaneProjection 类,用投影变换来模拟3D的效果. 下面让我们看