我在DataGridView中将AllowUserToAddRows设置为false。然而,当我通过方向箭头键导航到最后一行时,顶行滚动到视线之外,底部出现一个新的灰色行。
我该怎样防止这种情况?无论向上,向下,向左或向右移动光标,我希望所有行都可见。
注意:水平浏览单元格不会导致问题 - 当我这样做时,没有添加灰色列。我希望行/垂直功能与此相同。
答案 0 :(得分:1)
因此,一种方法是执行以下操作:
在DataGridView
上,将属性AllowUserToAddRows
和AllowUserToDeleteRows
设置为 false
另外,将AutoSizeRowsMode
设置为无
像这样处理DataGridView
的调整大小:
private void dataGridView1_Resize(object sender, EventArgs e)
{
var rowHeight = (dataGridView1.Height - dataGridView1.ColumnHeadersHeight) / 10;
for (int i = 0; i < 10; ++i)
{
dataGridView1.Rows[i].Height = rowHeight;
}
}
在我的示例中,Form1_Load事件只是添加了一些行,然后调用DGV的调整大小以使一切看起来正确,但您可以处理这些不同的方式。类似的东西:
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; ++i)
{
dataGridView1.Rows.Add();
}
dataGridView1_Resize(this, EventArgs.Empty);
}