【问题标题】:Adjusting datagrid columns in a C# Windows application在 C# Windows 应用程序中调整数据网格列
【发布时间】:2011-01-11 15:15:58
【问题描述】:

如何根据数据网格在 C# Windows 应用程序中显示的值调整列宽?

【问题讨论】:

  • 我很确定您可以在 Visual Studio 的设计器中执行此操作。
  • 我只想知道怎么做?任何例子

标签: c# winforms datagridview datagrid


【解决方案1】:

您可以使用 MeasureString 计算每个单元格中文本的大小,然后取最大值。

您可以在此处找到执行此操作的代码 sn-p - http://www.syncfusion.com/FAQ/windowsforms/faq_c44c.aspx#q877q

【讨论】:

  • 它是一个向 PC 发送短信的应用程序,因此每一行都在逐个添加到网格中。那么我该如何更改单元格宽度呢?
  • 您也许可以有一个变量来保存每列的最大单元格值的宽度。所以当每一行添加时,你可以将新值与之前的最大值进行比较,并相应地设置列宽。
【解决方案2】:

如果您使用 DataGridView 作为数据网格控件,则有一个 AutoSizeColumns 属性,如果设置为 true,它将自动调整列宽。

【讨论】:

【解决方案3】:

一种方法是将属性 AutoSizeColumnsMode 设置为 "Fill",这将动态调整列的大小以填充网格的范围。然后,对于每一列,您还可以指定 FillWeight(在“Edit Columns”中)以便“weighted”调整列。

否则,您可以通过在“Edit Columns”中设置“Width”属性来设置每列的默认宽度

如果您想在运行时以编程方式执行此操作,可以调用

dataGridView1.Columns[...].Width = XX

【讨论】:

  • 它是一个数据网格而不是数据网格查看器
  • @kiran:如果您是从头开始创建它,我强烈推荐使用DataGridView 控件。 GridView 已弃用,提供的功能较少。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-08
  • 1970-01-01
  • 1970-01-01
  • 2017-05-19
  • 2018-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多