Datagridview 列 SortGlyph 指示器隐藏在滚动条后面

Datagridview column SortGlyph indicator is hidden behind scrollbar

我有一个 winform 应用程序,它的 Datagridview 有 6 列。除 col 外的所有列。 4个是可排序的。通过单击列 header 启动排序,网格将在该列上排序。这一切都有效。我的问题是,当我在网格中有超过 17 行数据时,会出现一个垂直滚动条(这是我想要的)。但是,如果我碰巧在网格的最后一列上排序,垂直滚动条会隐藏 SortGlyph 三角形。用户将无法看到排序方向。如果我对其他列进行排序,这不是问题。我希望在出现垂直滚动条时正确调整列 (width-wise),以便我可以随时看到 SortGlyph 指示器。 注意:我只显示了网格的垂直滚动条(不是水平滚动条)。我的表单尺寸不大,使用的是 FormBorderStyle.Fixed3D。网格设置为 DockStyle.Fill.

一些相关代码:

this.GridView_DocumentStatus.AllowUserToAddRows = false;
this.GridView_DocumentStatus.AllowUserToDeleteRows = false;
this.GridView_DocumentStatus.AllowUserToResizeRows = false;
dataGridViewCellStyle1.Alignment =DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.WrapMode = DataGridViewTriState.True;
this.GridView_DocumentStatus.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;

this.GridView_DocumentStatus.Dock = System.Windows.Forms.DockStyle.Fill;
this.GridView_DocumentStatus.EnableHeadersVisualStyles = false;
this.GridView_DocumentStatus.Location = new System.Drawing.Point(0, 0);
this.GridView_DocumentStatus.MultiSelect = false;
this.GridView_DocumentStatus.ReadOnly = true;
this.GridView_DocumentStatus.RowHeadersVisible = false;
this.GridView_DocumentStatus.ScrollBars = ScrollBars.Vertical;
this.GridView_DocumentStatus.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

一定是我设置有误导致了这个效果。 - 或 - 这是我必须 micro-manage 通过自己手动调整列(那会很糟糕)的东西。

更改要填充的最后一列的布局设置,这将在出现垂直滚动条时重新调整列宽:

Column6.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
Column6.FillWeight = 100;