溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)GridView自動(dòng)滾動(dòng)的功能

發(fā)布時(shí)間:2020-10-19 14:16:45 來源:億速云 閱讀:211 作者:小新 欄目:編程語言

小編給大家分享一下如何實(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í)現(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)也顯示不了。

我的實(shí)現(xià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();
     }
}

最后送上測(cè)試的結(jié)果

如何實(shí)現(xiàn)GridView自動(dòng)滾動(dòng)的功能

以上是如何實(shí)現(xiàn)GridView自動(dòng)滾動(dòng)的功能的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI