无法以编程方式更改 gridview 列宽
在我的 Windows 窗体上,我需要以编程方式设置网格视图中的列宽度。 我正在使用以下代码:
this.dgridv.Columns[columnName].Width = columnWidth;
上面的 stmt 运行没有任何错误。 但是,列宽保持不变。 如果我插入断点并在 stmt 运行后检查 width 的值,它仍然是 100,我猜这是 datagrid 列宽的默认值。
除了这个之外我还需要做些什么吗? 在更改列宽之前是否需要设置任何值?
对此的任何帮助或指示都将受到高度赞赏。
谢谢 :)
On my windows form, I need to programatically set the width of columns in the grid view. I am using the following code:
this.dgridv.Columns[columnName].Width = columnWidth;
The above stmt runs without any error. But, the column width remains unchanged. If I insert a breakpoint and check the value of width after the stmt runs, it is still 100, which I guess is the default value of datagrid column width.
Is there something else I need to do apart from this? Are there any values I need to set before changing the column width?
Any help or pointers on this are highly appreciated.
Thanks :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您是否已将
AutoSizeColumnsMode
设置为 Fill?如果有,则需要设置
FillWeight
属性。 这不是简单的宽度,而是宽度/数量的比例。 此列占用的列。如果您没有调整列的大小,它将是 100.0。
如果该列已加宽,则它将> > 100.0。
如果列已收缩,它将 < 100.0。
根据定义,加宽一列会缩小其余列。
Have you got the
AutoSizeColumnsMode
set to Fill?If you have you'll need to set the
FillWeight
property instead. This isn't a simple width but the proportion ofwidth / no. columns
that this column takes up.If you haven't resized the columns it will be 100.0.
If the column has been widened it will be > 100.0.
If the column has been shrunk it will be < 100.0.
Widening one column, by definition, shrinks the rest.
这有效:
要将其重置回来,我正在使用:
This worked:
To reset it back, I am using:
dataGridView1.Columns[index].Width = 150;
这行代码将以编程方式设置列宽。
dataGridView1.Columns[index].Width = 150;
This line of code will set the column width programatically.