在我的Windows窗体上,我需要以编程方式设置网格视图中列的宽度。我使用以下代码:
this.dgridv.Columns[columnName].Width = columnWidth;
上面的stmt运行没有任何错误。但是,列宽保持不变。如果我插入一个断点并检查stmt运行后的宽度值,它仍然是100,我猜这是datagrid列宽的默认值。
除此之外我还需要做些什么吗?在更改列宽之前是否需要设置任何值?
对此的任何帮助或指示都非常感谢。
谢谢:)
答案 0 :(得分:2)
您是否已将AutoSizeColumnsMode
设置为Fill?
如果您需要设置FillWeight
属性。这不是一个简单的宽度,而是此列占用的width / no. columns
的比例。
如果您没有调整列的大小,则为100.0。
如果列已加宽,则将> 100.0。
如果该列已经缩小,它将是< 100.0。
根据定义,扩大一列会缩小其余部分。
答案 1 :(得分:0)
这有效:
this.dgridv.Columns[columnName].AutoSizeMode= DataGridViewAutoSizeColumnMode.None;
this.dgridv.Columns[columnName].Width = columnWidth;
要重置它,我正在使用:
dgvCol.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
答案 2 :(得分:0)
dataGridView1.Columns[index].Width = 150;
这行代码将以编程方式设置列宽。