C# 将DataGrid列标题与特定范围合并

C# 将DataGrid列标题与特定范围合并,c#,winforms,datagridview,datagrid,C#,Winforms,Datagridview,Datagrid,首先,如果这个问题碰巧是重复的,我想道歉。但就我想寻求帮助而言,我想知道如何从特定列范围合并DataGridView的ColumnHeader的任何函数、代码或演练 ie:Lastname、Firstname和Middlename位于“NAME”合并标题下。公司和职位位于“工作”合并标题下 请注意,“姓名”/“工作”和“姓氏”/“姓氏”/“中间名”/“公司”/“职位”也都是标题。所以基本上,我会有两(2)行列标题 PS:我已经在几个论坛和协作网站上搜索了好几次,但我似乎无法让它正常工作,因为它们

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

ie:Lastname、Firstname和Middlename位于“NAME”合并标题下。公司和职位位于“工作”合并标题下

请注意,“姓名”/“工作”和“姓氏”/“姓氏”/“中间名”/“公司”/“职位”也都是标题。所以基本上,我会有两(2)行列标题

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

期待您的帮助。多谢各位


您必须自定义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;
}
公共DgvColumnHeaderMerge() { 初始化组件(); } 私有void DgvColumnHeaderMerge_加载(对象发送方,事件参数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
有关更多信息,请参阅此链接-

这应该会让您继续前进!这也是一个很好的方法,所以您正在尝试获取子标题或列?