如何防止在我的DGV中显示“随机”灰色行?

时间:2012-09-21 16:13:47

标签: c# winforms datagridview

我在DataGridView中将AllowUserToAddRows设置为false。然而,当我通过方向箭头键导航到最后一行时,顶行滚动到视线之外,底部出现一个新的灰色行。

我该怎样防止这种情况?无论向上,向下,向左或向右移动光标,我希望所有行都可见。

注意:水平浏览单元格不会导致问题 - 当我这样做时,没有添加灰色列。我希望行/垂直功能与此相同。

1 个答案:

答案 0 :(得分:1)

因此,一种方法是执行以下操作:

DataGridView上,将属性AllowUserToAddRowsAllowUserToDeleteRows设置为 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);
}