Winforms DataGridView第一列始终较大
我试图使DataGridView的第一行更大。我尝试使用OnScroll,但它并不总是正确的。是否有一个change row first index事件可以用来代替OnScrollWinforms DataGridView第一列始终较大,winforms,datagridview,Winforms,Datagridview,我试图使DataGridView的第一行更大。我尝试使用OnScroll,但它并不总是正确的。是否有一个change row first index事件可以用来代替OnScroll private int lastRow = -1; private void dgvN_Scroll(object sender, ScrollEventArgs e) { int firstVisibleRow = dgvN.HitTest(dgvN.RowTemplate.MinimumHeight,
private int lastRow = -1;
private void dgvN_Scroll(object sender, ScrollEventArgs e)
{
int firstVisibleRow = dgvN.HitTest(dgvN.RowTemplate.MinimumHeight,
dgvN.RowHeadersWidth).RowIndex;
if (lastRow != firstVisibleRow && firstVisibleRow != -1)
{
dgvN.Rows[firstVisibleRow].Height = 50;
if (lastRow != -1)
{
dgvN.Rows[lastRow].Height = 20;
}
lastRow = firstVisibleRow;
}
}
改变
到
(至少,我认为这是您想要的行为,这取决于您的代码在粘贴到我的测试项目中时的行为,以及您关于“它并不总是击中目标”的评论)所以您希望总是将第一个可见行变大?那么滚动后,网格顶部的新行的高度增加了吗?我想不出一个好的方法来做这件事,所以我可以问你为什么需要它,以防我能想出一个好的替代方法吗?嗯。。。实际上,在规格中总是允许突出显示第一个项目,因为它包含多行文本。哇,我已经使用DGV多年了,从来没有注意到这个属性+1我在2009年7月在该网站上发现的关于该房产的书籍;)感谢它的工作,但我想我应该执行的过程与数据绑定事件一起太万一项目增加和减少。
int firstVisibleRow = dgvN.HitTest(dgvN.RowTemplate.MinimumHeight,
dgvN.RowHeadersWidth).RowIndex;
int firstVisibleRow = dgvN.FirstDisplayedScrollingRowIndex;