无法以编程方式更改 gridview 列宽

发布于 2024-07-22 22:32:36 字数 331 浏览 5 评论 0原文

在我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

我要还你自由 2024-07-29 22:32:36

您是否已将 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 of width / 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.

节枝 2024-07-29 22:32:36

这有效:

this.dgridv.Columns[columnName].AutoSizeMode= DataGridViewAutoSizeColumnMode.None;
this.dgridv.Columns[columnName].Width = columnWidth;

要将其重置回来,我正在使用:

dgvCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;

This worked:

this.dgridv.Columns[columnName].AutoSizeMode= DataGridViewAutoSizeColumnMode.None;
this.dgridv.Columns[columnName].Width = columnWidth;

To reset it back, I am using:

dgvCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
苯莒 2024-07-29 22:32:36

dataGridView1.Columns[index].Width = 150;

这行代码将以编程方式设置列宽。

dataGridView1.Columns[index].Width = 150;

This line of code will set the column width programatically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文