博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DevExpress GridView自动滚动
阅读量:5242 次
发布时间:2019-06-14

本文共 1136 字,大约阅读时间需要 3 分钟。

引言

    最新有一个winform项目使用的是DevExpress的控件,所以最近都在摸索使用这套控件,实在是佩服整套控件的强大,同时代码写起来也简洁。客户有一个需求,希望报表结果能在外接的大屏幕上定时滚动。这个报表我们使用的控件就是GridControl,查询结果一屏不能显示完全,增加一个定时器,指定时间让GridView自动滚动显示下一屏的信息。

同事的实现

    但是看到同事实现的代码时,却觉得有点不舒服。他大概的代码如下:

/// /// 当前的行索引/// private int currentRowHandle = 0;
/// 
/// 总共含有的行
/// 
private int totalRowCount = 0;
/// /// 定时器定时事件/// private void timerScroll_Tick(object sender, EventArgs e){      if (currentRowHandle == totalRowCount)          currentRowHandle = 0;      else      {          currentRowHandle += 40;          if (currentRowHandle > totalRowCount)              currentRowHandle = totalRowCount;      }      gridView1.FocusedRowHandle = currentRowHandle;}

    为了实现GridView自动滚动的功能,代码引入了2个字段,而且将每次滚动的行数写死成40,当窗体和控件的大小进行缩放的时候,有可能一个屏幕无法显示40行数据,就有可能有些数据永远也显示不了。

我的实现

    通过查阅DevExpress的手册,发现GridView已经有提供方法可以直接使用来达到滚动翻页的效果,而且代码一如既往的简洁,无需引入任何字段。改进的代码如下:

/// /// 定时器定时事件/// /// /// private void timerScroll_Tick(object sender, EventArgs e){     if (gridView1.IsLastRow)     {          gridView1.MoveFirst();     }     else     {          gridView1.MoveNextPage();     }}

最后送上测试的结果

转载于:https://www.cnblogs.com/sesshoumaru/p/6947828.html

你可能感兴趣的文章
ASP.NET MVC布局
查看>>
九度OJ 1128:求平均年龄 (基础题)
查看>>
mvc导入导出
查看>>
Valid Parentheses
查看>>
二叉查找树(二叉排序树)的详细实现
查看>>
使用cwRsync实现windows下文件定时同步
查看>>
WOW.js和animate.css让页面滚动时显示动画
查看>>
linux 异常
查看>>
WPF 获取文件夹路径,目录路径,复制文件,选择下载文件夹/目录
查看>>
codeforces 659D D. Bicycle Race(水题)
查看>>
codeforces 696A A. Lorenzo Von Matterhorn(水题)
查看>>
获取全部校园网
查看>>
扯扯MySQL 5.6.19 Administrative Roles and Global Privileges
查看>>
2017-2018-1 20155220 《信息安全系统设计基础》课下实践——实现mypwd
查看>>
jquery/js不支持ie9以下版本的方法或属性
查看>>
Swift基础
查看>>
统计一个字符串中各个英文单词的出现的频数
查看>>
最新Ubuntu10.10 更新源
查看>>
五大原则 (单一职责、开放封闭、里氏代换、接口隔离、依赖倒置)
查看>>
js学习-day04
查看>>