小編給大家分享一下如何實(shí)現(xiàn)GridView自動(dòng)滾動(dòng)的功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)建站專注于土默特左旗網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供土默特左旗營銷型網(wǎng)站建設(shè),土默特左旗網(wǎng)站制作、土默特左旗網(wǎng)頁設(shè)計(jì)、土默特左旗網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造土默特左旗網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供土默特左旗網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
最新有一個(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)不舒服。他大概的代碼如下:
////// 當(dāng)前的行索引/// private int currentRowHandle = 0;
///
/// 總共含有的行
///
private int totalRowCount = 0;
////// 定時(shí)器定時(shí)事件/// 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的手冊,發(fā)現(xiàn)GridView已經(jīng)有提供方法可以直接使用來達(dá)到滾動(dòng)翻頁的效果,而且代碼一如既往的簡潔,無需引入任何字段。改進(jìn)的代碼如下:
////// 定時(shí)器定時(shí)事件/// /// /// 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)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!