【发布时间】:2015-01-09 15:23:34
【问题描述】:
我有一个有 4 列的数据网格视图。我要:
- 显示每个单元格内的所有文本(我不想看到任何被“...”截断的文本)
- 最后一列填满了所有剩余空间
- 水平和垂直滚动条。
使用此代码:
dataGridView.ScrollBars = ScrollBars.Both;
Grid_NonAnatObj.AutoResizeColumns();
GridCol_Visibility.Width = 30;
我看到每个单元格中的所有文本都没有截断,并且我看到了水平和垂直滚动条。 当我尝试添加此代码时
Grid_NonAnatObj.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
为了满足2.,水平滚动条消失。 我该如何解决这个问题?
【问题讨论】:
-
你在其他列上设置了什么属性?
-
我怀疑这是可能的,我也看不出这样做有什么意义,因为它从来没有任何问题。除非你想为了它自己的缘故展示它..(在这种情况下可能添加一个HScrollbar 控件到 DGV.Controls 并将其停靠到底部。)
-
@Abhishek:我没有设置其他列属性,我添加了一张关于我的 datagridview 属性的图片
-
@TaW:我使用的是 Visual Studio 2008,它没有 HScrollbar 控件
-
来自 DataGridViewAutoSizeColumnMode.Fill 上的 MSDN 文档:“列宽调整以便所有列的宽度完全填充控件的显示区域,仅需要水平滚动以保持列宽高于 DataGridViewColumn.MinimumWidth属性值。”这让我相信就像@TaW 所说的那样,滚动条不应该显示,因为网格水平完全适合。例外情况可能是列最小宽度将列推到网格宽度之外。但是,我不知道这将如何工作,这就是为什么这只是一个评论。
标签: c# winforms datagridview scrollbar autosize