【问题标题】:How to set default column size(height,width) of columns of Data Grid View in C#如何在 C# 中设置数据网格视图列的默认列大小(高度、宽度)
【发布时间】:2012-01-06 21:28:54
【问题描述】:

我有一个数据表。创建完这张表后,我使用数据网格视图来显示数据,只需使用代码:

mydataGridView.DataSource = myTable;

这样,dataGridView 会根据 myTable 中的数据自动创建列和行。 但是,当我这样做时,我无法在 dataGridView 中设置列​​的宽度。我应该怎么做才能解决这个问题?

我不使用任何代码来设置大小。我的 dataGridView 自动生成列,我想设置这些自动生成列的大小。

【问题讨论】:

  • 你是如何设置列宽的???你能贴出那个代码
  • 您需要明确指定要显示的列并将AutoGenerateColumns设置为false。
  • @ChrisF 但我不想禁用自动生成的列。我只想设置它们的大小,仅此而已。
  • 其实我错了——你应该可以设置大小。有AllowUserToResizeColumnsAllowUserToResizeRows 属性。两者都默认为true

标签: c# gridview datagrid datagridview datatable


【解决方案1】:

嗯...在您的 DataGrid 的 xaml 中,您可以使用 ColumnWidth 参数来执行此操作。

【讨论】:

    【解决方案2】:

    这有一个陷阱:

    MyGrid.TableStyles(0).GridColumnStyles(2).width = SomeValue;
    

    可以肯定,在实例化网格时,您总是至少得到一个 TableStyle 和一个 ColumnStyle。 之后,您必须为每列创建和添加列样式。 如果您也需要,Rowstyle 也一样。

    如果您从 VS 设置网格样式,设置列数,则只会定义一种列样式,它将用于从 0 开始的所有列。 如果您希望使第 3 列不同,那么您必须设置第 0,1 和 2 列。然后是 3,除非您希望第 4 .. n 列与 3 相同,否则从那时起将使用第 4 列。

    我也发现了。

    因此,据我所知,您将需要代码,但如果您可以传入要使用的样式属性列表,则可以使其通用。

    【讨论】:

      【解决方案3】:

      你可以试试:

      dataGridView.Columns[i].Width = 60;
      

      【讨论】:

      • 请确保您发布功能齐全的 sn-p。现在,它不会工作,因为i 没有被声明。
      • 虽然这个代码块可能会回答这个问题,但最好能稍微解释一下为什么会这样。
      猜你喜欢
      • 2014-06-14
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 2011-11-01
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多