DevExpress GridView自動(dòng)滾動(dòng)效果
引言
最新有一個(gè)winform項(xiàng)目使用的是DevExpress的控件,所以最近都在摸索使用這套控件,實(shí)在是佩服整套控件的強(qiáng)大,同時(shí)代碼寫起來也簡(jiǎn)潔??蛻粲幸粋€(gè)需求,希望報(bào)表結(jié)果能在外接的大屏幕上定時(shí)滾動(dòng)。這個(gè)報(bào)表我們使用的控件就是GridControl,查詢結(jié)果一屏不能顯示完全,增加一個(gè)定時(shí)器,指定時(shí)間讓GridView自動(dòng)滾動(dòng)顯示下一屏的信息。
同事的實(shí)現(xiàn)
但是看到同事實(shí)現(xiàn)的代碼時(shí),卻覺得有點(diǎn)不舒服。他大概的代碼如下:
/// <summary>
/// 當(dāng)前的行索引
/// </summary>
private int currentRowHandle = 0;
/// <summary>
/// 總共含有的行
/// </summary>
private int totalRowCount = 0;
/// <summary>
/// 定時(shí)器定時(shí)事件
/// </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;
}
為了實(shí)現(xiàn)GridView自動(dòng)滾動(dòng)的功能,代碼引入了2個(gè)字段,而且將每次滾動(dòng)的行數(shù)寫死成40,當(dāng)窗體和控件的大小進(jìn)行縮放的時(shí)候,有可能一個(gè)屏幕無(wú)法顯示40行數(shù)據(jù),就有可能有些數(shù)據(jù)永遠(yuǎn)也顯示不了。
我的實(shí)現(xiàn)
通過查閱DevExpress的手冊(cè),發(fā)現(xiàn)GridView已經(jīng)有提供方法可以直接使用來達(dá)到滾動(dòng)翻頁(yè)的效果,而且代碼一如既往的簡(jiǎn)潔,無(wú)需引入任何字段。改進(jìn)的代碼如下:
/// <summary>
/// 定時(shí)器定時(shí)事件
/// </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();
}
}
最后送上測(cè)試的結(jié)果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn)XSL轉(zhuǎn)換的方法
這篇文章主要介紹了C#實(shí)現(xiàn)XSL轉(zhuǎn)換的方法,結(jié)合實(shí)例分析了C#執(zhí)行XSL轉(zhuǎn)換XML的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
C#使用NPOI操作Excel工具類的實(shí)現(xiàn)
NPOI是POI項(xiàng)目的.NET遷移版本,使用NPOI可以在沒有安裝Office或者相應(yīng)環(huán)境的機(jī)器上對(duì)Word或Excel文檔進(jìn)行讀寫操作,下面我們就來學(xué)習(xí)一下如何使用NPOI編寫操作Excel的工具類吧2023-11-11
Unity游戲開發(fā)中的設(shè)計(jì)模式之策略模式
策略模式是Unity游戲開發(fā)中常用的設(shè)計(jì)模式之一,用于封裝一系列算法或行為,并使這些算法或行為可以相互替換。通過策略模式,可以在運(yùn)行時(shí)動(dòng)態(tài)地選擇算法或行為,實(shí)現(xiàn)游戲中的多樣性和可擴(kuò)展性。常見的應(yīng)用包括AI行為、武器攻擊、移動(dòng)方式等2023-05-05
C#實(shí)現(xiàn)拷貝文件到另一個(gè)文件夾下
這篇文章主要介紹了C#實(shí)現(xiàn)拷貝文件到另一個(gè)文件夾下,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
使用設(shè)計(jì)模式中的工廠方法模式進(jìn)行C#編程的示例講解
這篇文章主要介紹了使用設(shè)計(jì)模式中的工廠方法模式進(jìn)行C#編程的示例講解,工廠方法模式可以看作是對(duì)簡(jiǎn)單工廠模式的進(jìn)一步擴(kuò)展,需要的朋友可以參考下2016-02-02
C# Winform下載文件并顯示進(jìn)度條的實(shí)現(xiàn)代碼
本來是要研究怎樣判斷下載完成,結(jié)果找到這個(gè)方法,可以在這個(gè)方法完成之后提示下載完成,需要的朋友可以參考下2014-07-07
C#檢查Windows是否安裝了某個(gè)服務(wù)的方法
這篇文章主要介紹了C#檢查Windows是否安裝了某個(gè)服務(wù)的方法,涉及C#操作windows系統(tǒng)服務(wù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03

