资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
DataGridView二维表头与合并单元格1、在项目中添加“组件类”。2、所引用的命名空间如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Drawing;using System.Drawing.Design;using System.Diagnostics;3、DataGridView二维表头与合并单元格类,继承DataGridView类public partial class HeaderUnitView : DataGridView private TreeView _columnTreeView; private ArrayList _columnList = new ArrayList(); private int _cellHeight = 17; public int CellHeight get return _cellHeight; set _cellHeight = value; private int _columnDeep = 1; private bool HscrollRefresh = false; / / 水平滚动时是否刷新表头,数据较多时可能会闪烁,不刷新时可能显示错误 / Description(水平滚动时是否刷新表头,数据较多时可能会闪烁,不刷新时可能显示错误) public bool RefreshAtHscroll get return HscrollRefresh; set HscrollRefresh = value; / / 构造函数 / public HeaderUnitView() InitializeComponent(); this.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; /设置列高度显示模式 public HeaderUnitView(IContainer container) container.Add(this); InitializeComponent(); Description(设置或获得合并表头树的深度) public int ColumnDeep get if (this.Columns.Count = 0) _columnDeep = 1; this.ColumnHeadersHeight = _cellHeight * _columnDeep; return _columnDeep; set if (value 1) _columnDeep = 1; else _columnDeep = value; this.ColumnHeadersHeight = _cellHeight * _columnDeep; Description(添加合并式单元格绘制的所需要的节点对象) public TreeView ColumnTreeView get return _columnTreeView; set if (_columnTreeView != null) for (int i = 0; i = _columnTreeView.Length - 1; i+) _columnTreeViewi.Dispose(); _columnTreeView = value; Description(设置添加的字段树的相关属性) public TreeView ColumnTreeViewNode get return _columnTreeView0; / / 设置或获取合并列的集合 / MergableProperty(false) Editor(System.Windows.Forms.Design.ListControlStringCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, typeof(UITypeEditor) DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Visible) Localizable(true) Description(设置或获取合并列的集合), Browsable(true), Category(单元格合并) public List MergeColumnNames get return _mergecolumnname; set _mergecolumnname = value; private List _mergecolumnname = new List(); public ArrayList NadirColumnList get if (_columnTreeView = null) return null; if (_columnTreeView0 = null) return null; if (_columnTreeView0.Nodes = null) return null; if (_columnTreeView0.Nodes.Count = 0) return null; _columnList.Clear(); GetNadirColumnNodes(_columnList, _columnTreeView0.Nodes0, false); return _columnList; / /绘制合并表头 / /合并表头节点 /绘图参数集 /结点深度 / public void PaintUnitHeader( TreeNode node, System.Windows.Forms.DataGridViewCellPaintingEventArgs e, int level) /根节点时退出递归调用 if (level = 0) return; RectangleF uhRectangle; int uhWidth; SolidBrush gridBrush = new SolidBrush(this.GridColor); SolidBrush backColorBrush = new SolidBrush(e.CellStyle.BackColor); Pen gridLinePen = new Pen(gridBrush); StringFormat textFor
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号