我尝试在winform vb net项目中实现以下内容(我在使用delphi编写的应用程序中看到这项工作)。
我希望隐藏或设置在停靠填充的dgv中部分可见的底行的可见性为false。 我试图实现这样的东西:
DataGridView1.Rows(DataGridView1.DisplayedRowCount(true) - 1).Visible = False
我认为应该在DataBindingComplete和Resize / scroll事件期间调用它,但它不起作用。
您有任何想法/解决方案吗?
答案 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
可能适用于你描述的内容。如果经常重新调整网格大小,则可能必须实现此行调整大小。希望这会有所帮助。