Dx中实现滚动条分页
一、滚动条分页
界面展示第n页前的数据,当用户需要查看第n+1页数据时,界面再去加载n+1页的数据
二、原理
利用界面单元格绘制事件,界面单元格绘制绘制当前展示界面的所有单元格,如果当前的行数超过了需要查询下一条的条件(暂定为当前数据的5/6),就去查询下一页的数据,添加到现有的界面数据中。
实现
1.添加滚动下拉事件
((GridView)grid.MainView).CustomDrawCell += new DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventHandler(GridCreator_CustomDrawCell);
/// grid下拉事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void GridCreator_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) { try { if (this.IsUpdatingData || this.IsGridSorting || grid.MainView.RowCount * 5 / 6 > e.RowHandle + 1 || data_list.Count >= row_count) { return; } page_num++; GetData(); } catch (Exception ee) { Program.MsgBoxError(ee); } }