1.功能说明:
将连续的多个列合并成一个新列。
2.不足之处:
不能合并多层。比如下图这样的功能是没有的。
3.使用参考.
在form的构造函数里写下如下代码
- Utility.exGridView.isEnLarged = false;
在datagridview的cellpaiting事件中写如下代码
- Utility.exGridView exG = new Utility.exGridView();
- List colNameCollection=new List();
- for (int i = 0; i < 10; i++)
- {
- //"colDraw"+i.ToString()是columnName的属性值
- colNameCollection.Add("colDraw" + i.ToString());
- }
- exG.MergeHeader(sender, e, colNameCollection, "0-9中奖号码分布图");
4.效果截图
5.源文件(没找到添加附件的地方,就贴出代码了)
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Windows.Forms;
- using System.Drawing;
- namespace Utility
- {
- public class exGridView
- {
- #region 合并列时使用到的位置和大小属性
- int cTop = 0;//被合并表头区域的顶部坐标
- int cLeft = 0;//被合并表头区域的左边坐标
- /// <summary>
- /// 被合并表头区域的宽
- /// </summary>
- int cWidth = 0;
- int cHeight = 0;//。。。高
- #endregion
- /// <summary>
- /// 判断是否已经将datagridview的表头变高了,只增高一次。
- /// </summary>
- public static bool isEnLarged = false;
- /// <summary>
- /// 合并表头,用在dataGridView的CellPainting事件中。
- /// </summary>
- /// <param name="sender">需要重绘的dataGridview</param>
- /// <param name="e">CellPainting中的参数</param>
- ///<param name="colName">列的集合(列必须是连续的,第一列放在最前面)</param>
- /// <param name="headerText">列合并后显示的文本</param>
- public void&