我在Windows表单上有一个DataGridView
,其中有30列和数千行。
ScrollBars
属性被设置为Both
,但水平滚动条仍然不可见。即使我无法使用键盘的箭头键滚动。
我尝试将ScrollBars
属性设置为Horizontal
,但没有任何改变。
请问有什么建议吗?
谢谢
我在Windows表单上有一个DataGridView
,其中有30列和数千行。
ScrollBars
属性被设置为Both
,但水平滚动条仍然不可见。即使我无法使用键盘的箭头键滚动。
我尝试将ScrollBars
属性设置为Horizontal
,但没有任何改变。
请问有什么建议吗?
谢谢
好了,伙计们,问题解决了。
我回答自己的问题; 也许会有帮助。
其中一列设置了Frozen
属性为True
,所有列都应该将其设置为false
。现在滚动条对我来说完全正常工作。
干杯
我知道这个问题已经解决了,但我发现另一个可能导致此问题的原因,所以想将其作为答案添加,以防其他人遇到相同的问题。
如果您的表单有一个DataGridView,该控件被停靠填充整个表单,并且表单还有一个状态栏,则取决于它们创建的顺序,状态栏可能会隐藏DataGridView的滚动条。 要修复此问题,请右键单击DataGridView,并选择“Bring to Front”(置于顶层)。
AutoSizeColumnsMode
属性被设置为Fill
。我通过将该属性更改为AllCells
来解决问题,但任何其他值也可以工作。即使DGV被停靠并且我有多个停靠面板,并且第一列被冻结,它仍然有效。我有过类似的问题。我的解决方法是检查每个数据表格列并将Frozen设置为“false”。希望这能帮助到你。
我遇到了一个令人烦恼的问题。我已经在我的表单上创建了DataGridView,并在.cs文件中设置了所有数据绑定和属性设置。
我只是在我的代码后台文件(.cs)中注释了这一行,即
gvTblContent.AutoSize = true;
AutoSize
属性,否则默认会提供水平和垂直滚动条,如果需要,你可以使用以下代码:gvTblContent.ScrollBars = ScrollBars.Both;
我曾经遇到过类似的问题,不是由于frozen
属性,而是由于我在程序中添加了一些行,很可能是由于DataGridView
的bug导致的。在阅读了这个答案后,我解决了这个问题,使用如下代码:
dgv.PerformLayout()
dgv
之前,添加这些行。SplitContainer
内部。上述的方法都没有起作用,但是使用所有四个锚定点而不是 DataGridView
的 Dock.Fill 就可以解决问题。