簡體   English   中英

WrapMode為true時,DataGridView滾動到最后一行

[英]DataGridView scroll to last row while WrapMode true

在我的winforms .NET 4應用程序中,我必須繼續在DataGridView的底部添加新行。 該行包含兩列,我必須:

  1. 換行/換行以在單元格內放置長字符串。 為此,我做了

    myDGV.DefaultCellStyle.WrapMode = true;

  2. 滾動到底部以顯示最后添加的行,如果需要,還顯示滾動條。 所以我做了

    myDGV.ScrollBars = ScrollBars.Both; myDGV.FirstDisplayedScrollingRowIndex = lastRow.Index;

並通過數據源將數據綁定到myDGV

環繞模式可以完美地工作,但是由於環繞模式,如果某些行的高度不同,則滾動會遇到兩個問題:

  • 滾動條沒有滾動到底部。 有時停留在中間。 因此,我必須選擇一行並進行手動滾動才能看到最后一行。
  • 手動滾動並不流暢,就像所有行的高度都一樣。 我認為滾動條試圖按行而不是按像素滾動。 如果我在“高”行之間有“短”行,則滾動時會跳過前行。

有沒有辦法解決這兩個問題? 我應該考慮使用另一個Winforms控件嗎?

您嘗試過嗎?:

FirstDisplayedScrollingRowIndex: 鏈接到

或者使用devexpress控件,您可以通過簡單的方法來實現此目的...

希望我能幫到你


我現在讀得很好,你的答案。 我認為您對lastRow.index有問題,是否嘗試過此方法?:dataGridView1.ClearSelection(); //如果您想要

int nRowIndex = dataGridView1.Rows.Count-1; int nColumnIndex = 3;

dataGridView1.Rows [nRowIndex] .Selected = true; dataGridView1.Rows [nRowIndex] .Cells [nColumnIndex] .Selected = true;

//以防萬一,如果您還想向下滾動。 dataGridView1.FirstDisplayedScrollingRowIndex = nRowIndex;

資源:

C#DatagridView選擇最后一行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM