我有一个datagridview,用户可以在其中选择要查看的列子集。我遇到的问题是,当我更改显示的列时,列宽仅由标题单元格的宽度决定,而不是其中的数据。我确实将每列设置为 AutoSizeMode = AllCells。
如果添加了新行,则列将变为正确的宽度。但是当列集改变时,宽度是错误的。
我有一个datagridview,用户可以在其中选择要查看的列子集。我遇到的问题是,当我更改显示的列时,列宽仅由标题单元格的宽度决定,而不是其中的数据。我确实将每列设置为 AutoSizeMode = AllCells。
如果添加了新行,则列将变为正确的宽度。但是当列集改变时,宽度是错误的。
嗯...不能说我自己见过,但是(作为一种解决方法)您可以在更改列后尝试切换调整大小模式:
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
值得一试...
更简单的选择不是删除和添加列,而是添加所有列,然后选择性地隐藏/显示所需的列集。尽管另一种方法确实有效。