zoukankan      html  css  js  c++  java
  • .net WinForm DataGridView 多表头处理方案一则

    我是使用重载表格控件来处理的代码如下:

    表格初始化时:
                _mergedManager = new DataGridViewHeadsMergedManager(this);

    使用代码:
    技巧,在属性弹出的数据窗口回车确认后,会自动添加一行表头,任意多行,先横向,后纵向自动合并;-)

     1     多表头#region 多表头
     2
     3        [
     4Category("GridX"),
     5Description("设置辅助标题"),
     6]
     7        public int ColumnTitleHeight
     8        {
     9            get
    10            {
    11                return _mergedManager.ColumnTitleHeight;
    12
    13            }
    14            set
    15            {
    16
    17                _mergedManager.ColumnTitleHeight = value;
    18
    19            }
    20
    21        }
    22        [
    23Category("GridX"),
    24Description("设置辅助标题"),
    25]
    26        public string[] TitleHeads
    27        {
    28
    29            get
    30            {
    31
    32                if (this._mergedManager == null)
    33                    this._mergedManager = new DataGridViewHeadsMergedManager(this);
    34
    35                return _mergedManager.TitleHeads;
    36
    37
    38
    39            }
    40            set
    41            {
    42
    43
    44                _mergedManager.TitleHeads = value;
    45
    46            }
    47
    48        }
    49
    50        public void ClearHeads()
    51        {
    52            _mergedManager.ClearHeads();
    53            //this.ScrollBars = ScrollBars.Both;
    54        }
    55
    56        private void InternalDisposeHeads()
    57        {
    58            _mergedManager.Dispose();
    59        }
    60
    61        public void AppendNewHead(params string[] Caption)
    62        {
    63            //this.ScrollBars = ScrollBars.Vertical;  
    64            _mergedManager.AppendNewHead(Caption);
    65
    66        }
    67
    68        public void HeadRemoveAt(int index)
    69        {
    70            _mergedManager.HeadRemoveAt(index);
    71
    72        }
    73
    74        public int HeadCount
    75        {
    76            get
    77            {
    78                return _mergedManager.HeadCount;
    79            }
    80
    81        }
    82        #endregion
    83
    84
    85
    86
    表头代码:
    略...


    Demo:
    先右键定义6个DataGridViewColumn列,我第二列设不可见
    再在TitleHeads窗口中输
    Column1,Column1,Column1,Column1,Column2,Column2
    Column1,Column1,Column3,Column5,Column5,Column5
    Column1,Column2,Column3,Column4,Column7,Column8
    Column1,Column2,Column3,Column4,Column7,Column6
    代码:
                this.grid.TitleHeads = new string[] {
            "Column1,Column1,Column1,Column1,Column2,Column2",
            "Column1,Column1,Column3,Column5,Column5,Column5",
            "Column1,Column2,Column3,Column4,Column7,Column8",
            "Column1,Column2,Column3,Column4,Column7,Column6"};
    贴图:


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangzeshuai/archive/2008/09/12/2916103.aspx

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangzeshuai/archive/2008/09/12/2916103.aspx

    http://u.huoban001.com/space.php
  • 相关阅读:
    嵌入式软件开发环境搭建与工具推荐
    软件常用设计原则与实践:契约式接口设计、安全编码实践
    服务器崩掉 ,只剩下挂载文件,重现github docker 容器
    基础巩固篇 —— CountDownLatch的理解
    基础巩固篇 —— 对锁的理解
    基础巩固篇 —— 对不安全集合的理解
    基础巩固篇 —— 对CAS的理解
    基础巩固篇 —— 对volatile关键字的理解
    响应式布局
    jQuery Mobile 网格
  • 原文地址:https://www.cnblogs.com/zpq521/p/1683148.html
Copyright © 2011-2022 走看看