不要在datagridview中显示部分可见的行

时间:2017-03-14 10:59:36

标签: vb.net datagridview

我尝试在winform vb net项目中实现以下内容(我在使用delphi编写的应用程序中看到这项工作)。

我希望隐藏或设置在停靠填充的dgv中部分可见的底行的可见性为false。 我试图实现这样的东西:

DataGridView1.Rows(DataGridView1.DisplayedRowCount(true) - 1).Visible = False

我认为应该在DataBindingComplete和Resize / scroll事件期间调用它,但它不起作用。

您有任何想法/解决方案吗?

2 个答案:

答案 0 :(得分:0)

所以我在其中一个datagridviews上使用的是:

Dim ind As Integer = 0
    ind = DataGridView1.Rows.Count - 1
    DataGridView1.Rows(ind).Visible = False

隐藏了datagridview的最后一行。

答案 1 :(得分:0)

你的要求听起来有点奇怪。你的评论“我希望隐藏或设置底部行的虚假可见性,这是​​在dgv中部分可见的停靠填充。” ...我很好奇你怎么知道这是最后一行?是否有可能在最后一行下方有更多行可见?如果滚动条可用,如果行超出其边界框,您应该看到垂直滚动条。如果其中一行被边界框切成两半,并且该行下方有一行以上,那么隐藏/隐藏/删除该行只会移动下一行。

由于DataGridView已停靠,因此如果您不希望通过边界框拆分行,则可能需要手动调整行的大小。另一种可能的解决方案是使用下面的DataGridView s AutoSizeRowsMode

dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;

这将设置行,以便在行位于边界框底部之外时不会切断行。行将自动调整大小以适应均匀有七(7)个AutoSizeRowsMode选项,我猜他们中的一个可能会做你想要的。我猜DisplayedCells可能适用于你描述的内容。如果经常重新调整网格大小,则可能必须实现此行调整大小。希望这会有所帮助。