合并具有特定范围的DataGrid列标题

时间:2016-10-09 06:40:05

标签: c# winforms datagridview datagrid

首先,如果这个问题碰巧重复,我想道歉。但就我想寻求帮助而言,我想了解任何函数或代码,或者了解如何从特定列范围合并DataGridView的ColumnHeader。

ie:姓氏,名字和中间名在“NAME”合并标题下。公司和职位在“工作”合并标题下。

请注意,“NAME”/“WORK”和“LASTNAME”/“FIRSTNAME”/“MIDDLENAME”/“COMPANY”/“POSITION”都是标题。所以基本上,我会有两(2)行ColumnHeaders。

PS:我已经在几个论坛和协作网站上搜索了几次,但我似乎无法使它工作,因为它们都给出了两(2)跨度范围的常量。我也成功地偶然发现了这个thread,但它似乎不起作用并满足我的要求。

期待感恩的帮助。谢谢

enter image description here

1 个答案:

答案 0 :(得分:0)

您必须自定义DataGridView。这是一个示例:

public DgvColumnHeaderMerge()
{
   InitializeComponent();
}

private void DgvColumnHeaderMerge_Load (object sender, EventArgs e)
{
   this.dataGridView1.Columns.Add("JanWin", "Win");
   this.dataGridView1.Columns.Add("JanLoss", "Loss");
   this.dataGridView1.Columns.Add("FebWin", "Win");
   this.dataGridView1.Columns.Add("FebLoss", "Loss");
   this.dataGridView1.Columns.Add("MarWin", "Win");
   this.dataGridView1.Columns.Add("MarLoss", "Loss");

   for (int j = 0; j < this.dataGridView1.ColumnCount; j++)
   {
     this.dataGridView1.Columns[j].Width = 45;
   }

   this.dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
   this.dataGridView1.ColumnHeadersHeight = this.dataGridView1.ColumnHeadersHeight * 2;
   this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment .BottomCenter;
}

有关详情,请参阅此链接 - Sub-headers in DataGridView