C# DataGridView滚动到最后一行,WrapMode为true
在我的winforms.net4应用程序中,我必须在C# DataGridView滚动到最后一行,WrapMode为true,c#,winforms,datagridview,C#,Winforms,Datagridview,在我的winforms.net4应用程序中,我必须在DataGridView的底部不断添加新行。该行包含两列,我必须: 单元格内长字符串的换行/换行。为此我做了 myDGV.DefaultCellStyle.WrapMode=true 滚动到底部以显示最后添加的行,如果需要,也显示滚动条。所以我做了 myDGV.ScrollBars=滚动条。两者都有; myDGV.FirstDisplayedScrollingRowIndex=lastRow.Index 并通过数据源将数据绑定到myDGV 换行
DataGridView
的底部不断添加新行。该行包含两列,我必须:
myDGV.DefaultCellStyle.WrapMode=true代码>
myDGV.ScrollBars=滚动条。两者都有;
myDGV.FirstDisplayedScrollingRowIndex=lastRow.Index代码>
myDGV
换行模式工作正常,但如果由于换行模式,某些行的高度不同,则滚动会出现两个问题:
- 滚动条没有滚动到底部。有些时间停留在中间。所以我必须选择一行并手动滚动以查看最后一行
- 手动滚动不像所有行具有相同高度那样平滑。我认为滚动条试图按行滚动,而不是按像素滚动。如果在“高”行之间有“短”行,滚动时将跳过前一行
你试过了吗? FirstDisplayedScrollingRowIndex:
或者使用DevXPress控件,您可以通过简单的方式实现此操作 希望我能帮助你我现在很清楚你的答案。我想你对lastRow.index有问题,你试过这个吗?:dataGridView1.ClearSelection()//如果你愿意 int nRowIndex=dataGridView1.Rows.Count-1; int nColumnIndex=3 dataGridView1.Rows[nRowIndex].Selected=true; dataGridView1.Rows[nRowIndex]。单元格[nColumnIndex]。Selected=true //如果你想向下滚动的话。 dataGridView1.FirstDisplayedScrollingRowIndex=nRowIndex 资料来源: