DevExpress GridView自动滚动效果

引言

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

同事的实现

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

/// <summary>
/// 当前的行索引
/// </summary>
private int currentRowHandle = 0;
/// <summary>
/// 总共含有的行
/// </summary>
private int totalRowCount = 0;
/// <summary>
/// 定时器定时事件
/// </summary>
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已经有提供方法可以直接使用来达到滚动翻页的效果,而且代码一如既往的简洁,无需引入任何字段。改进的代码如下:

/// <summary>
/// 定时器定时事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timerScroll_Tick(object sender, EventArgs e)
{
   if (gridView1.IsLastRow)
   {
     gridView1.MoveFirst();
   }
   else
   {
     gridView1.MoveNextPage();
   }
}

最后送上测试的结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • asp.net gridview指定某一列滚动

    //基本代码设计 <div id="div-datagrid"> <asp:DataGrid id="DataGrid1" runat="server" CssClass="Grid" UseAccessibleHeader="True"> <AlternatingItemStyle CssClass="GridAltRow"></Alterna

  • DevExpress GridView自动滚动效果

    引言 最新有一个winform项目使用的是DevExpress的控件,所以最近都在摸索使用这套控件,实在是佩服整套控件的强大,同时代码写起来也简洁.客户有一个需求,希望报表结果能在外接的大屏幕上定时滚动.这个报表我们使用的控件就是GridControl,查询结果一屏不能显示完全,增加一个定时器,指定时间让GridView自动滚动显示下一屏的信息. 同事的实现 但是看到同事实现的代码时,却觉得有点不舒服.他大概的代码如下: /// <summary> /// 当前的行索引 /// </su

  • js实现Select列表内容自动滚动效果代码

    本文实例讲述了js实现Select列表内容自动滚动效果.分享给大家供大家参考.具体如下: 这里演示的Select列表内容自动滚动效果,文字可自动滚屏,当网页加载完毕后,Select中的内容会一个接一个向上滚动,当然,滚动的参数和速度是可以调节的.或许你会用得上. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-select-font-scroll-codes/ 具体代码如下: <html> <head> <title&g

  • JS实现的新闻列表自动滚动效果示例

    本文实例讲述了JS实现的新闻列表自动滚动效果.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> #box{width:260px;height:100px;margi

  • 基于jQuery的可以控制左右滚动及自动滚动效果的代码

    分享一个控制左右滚动及自动滚动的样例, 昨晚花了两个多小时, 忍受着悍蚊的叮咬, 汗水的侵袭, 一行行的敲出来的血汗代码. 哈哈. 封装了两种模式: 点击滚动版本DEMO 自动滚动版本DEMO,源码中有详细注释. 思路: 点击滚动模式下,是为点击(向前/向后/数字)添加click事件,通过控制展示区块left值实现切换. 1.向前(左):当在第一个版面时,滚动到最后一个页面,否则,累加left值,向前滚动; 2.向后(右):当在最后一个版面时,滚动到第一个页面,否则,累减left值,向后滚动;

  • android实现歌词自动滚动效果

    最近在做Android 的MP3播放的项目,要实现歌词的自动滚动,以及同步显示. lyric的歌词解析主要用yoyoplayer里面的,显示部分参考了这里 ,这里只是模拟MP3歌词的滚动. 先上一下效果图: 滚动实现的代码其实也简单.显示画出当前时间点的歌词,然后再分别画出改歌词后面和前面的歌词,前面的部分往上推移,后面的部分往下推移,这样就保持了当前时间歌词在中间. 代码如下 LyricView,相关信息在注释了标明了. package ru.org.piaozhiye.lyric; impo

  • js实现滚动条自动滚动

    本文实例为大家分享了js实现滚动条自动滚动的具体代码,供大家参考,具体内容如下 效果类似于直播网站的评论,会一条接着一条向上 go out : js部分很简单:通过控制scrollTop的值来实现自动滚动效果: 很重要两点:    1.scrollTop的值不可以加单位,谨记! 2.网页缩放比例会影响效果实现(下面具体说): scrollTop需要注意的三点: 1.如果这个元素没有被溢出,scrollTop为0: 2.设置的scrollTop值小于0,则scrollTop的值为0 3.如果设置s

  • javascript实现图片左右滚动效果【可自动滚动,有左右按钮】

    本文实例讲述了javascript实现图片左右滚动效果.分享给大家供大家参考,具体如下: html代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <

  • Android 使用ViewPager自动滚动循环轮播效果

    对Android 利用ViewPager实现图片可以左右循环滑动效果,感兴趣的朋友可以直接点击查看内容详情. 主要介绍如何实现ViewPager自动播放,循环滚动的效果及使用.顺便解决ViewPager嵌套(ViewPager inside ViewPager)影响触摸滑动及ViewPager滑动速度设置问题. 先给大家展示下效果图,喜欢的朋友可以下载源码: 1.实现 没有通过ScheduledExecutorService或Timer定期执行某个任务实现,而是简单的通过handler发送消息去

  • jquery插件之文字间歇自动向上滚动效果代码

    本文实例讲述了jquery插件之文字间歇自动向上滚动效果代码.分享给大家供大家参考,具体如下: 此插件旨在实现目前较为流行的文字间歇向上滚动特效,当鼠标移动到文字上时,向上滚动会停止,当鼠标离开时,向上滚动继续.整体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quo

  • android实现自动滚动的Gallary控件效果

    本文实例讲述了android实现自动滚动的Gallary控件.分享给大家供大家参考.具体如下: import java.util.Timer; import java.util.TimerTask; import android.content.Context; import android.os.Handler; import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; im

随机推荐