您好,登錄后才能下訂單哦!
小編給大家分享一下如何實(shí)現(xiàn)GridView自動(dòng)滾動(dòng)的功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
最新有一個(gè)winform項(xiàng)目使用的是DevExpress的控件,所以最近都在摸索使用這套控件,實(shí)在是佩服整套控件的強(qiáng)大,同時(shí)代碼寫起來也簡潔??蛻粲幸粋€(gè)需求,希望報(bào)表結(jié)果能在外接的大屏幕上定時(shí)滾動(dòng)。這個(gè)報(bào)表我們使用的控件就是GridControl,查詢結(jié)果一屏不能顯示完全,增加一個(gè)定時(shí)器,指定時(shí)間讓GridView自動(dòng)滾動(dòng)顯示下一屏的信息。
但是看到同事實(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è)屏幕無法顯示40行數(shù)據(jù),就有可能有些數(shù)據(jù)永遠(yuǎn)也顯示不了。
通過查閱DevExpress的手冊(cè),發(fā)現(xiàn)GridView已經(jīng)有提供方法可以直接使用來達(dá)到滾動(dòng)翻頁的效果,而且代碼一如既往的簡潔,無需引入任何字段。改進(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(); } }
以上是如何實(shí)現(xiàn)GridView自動(dòng)滾動(dòng)的功能的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。