.net WinForm DataGridView 多表头处理方案一则
2008-09-12 09:43
363 查看
.net WinForm DataGridView 多表头处理方案一则
思路:重画,重载
实现:
我是使用重载表格控件来处理的代码如下:
表格初始化时:
_mergedManager = new DataGridViewHeadsMergedManager(this);
使用代码:
技巧,在属性弹出的数据窗口回车确认后,会自动添加一行表头,任意多行,先横向,后纵向自动合并;-)
1
多表头#region 多表头
2
3
[
4
Category("GridX"),
5
Description("设置辅助标题"),
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
[
23
Category("GridX"),
24
Description("设置辅助标题"),
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"};
贴图:
思路:重画,重载
实现:
我是使用重载表格控件来处理的代码如下:
表格初始化时:
_mergedManager = new DataGridViewHeadsMergedManager(this);
使用代码:
技巧,在属性弹出的数据窗口回车确认后,会自动添加一行表头,任意多行,先横向,后纵向自动合并;-)
1
多表头#region 多表头
2
3
[
4
Category("GridX"),
5
Description("设置辅助标题"),
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
[
23
Category("GridX"),
24
Description("设置辅助标题"),
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"};
贴图:
相关文章推荐
- net WinForm DataGridView 多表头处理方案一则
- .net WinForm DataGridView 多表头处理方案一则
- .NET WinForm程序中给DataGridView表头添加下拉列表实现数据过滤
- .NET WinForm程序中给DataGridView表头添加下拉列表实现数据过滤
- .NET Winform Datagridview 实现多行表头
- .net WinForm用户控件开发--(2)带按钮DataGridView
- NET 2.0 - WinForm Control - DataGridView 编程36计(一)转
- Winform中DataGridView横向拖动滚动条时闪烁问题很严重的处理办法
- Winform传统DataGridView和DevExpress控件的GridControl两者表头全选功能的实现
- ASP.NET MVC异常处理方案
- 如何在Visual Studio C#.Net WinForm 中 TreeView中右键选择节点进行处理?
- .net WinForm下从datagridview中取值,通过Zedgraph作折线图
- .NET 4.0 - Winform Control - DataGridView 数据绑定(ADO.NET Data Service)
- [見好就收]NET 2.0 - WinForm Control - DataGridView 编程36计
- asp.net随机处理方案
- ASP.NET处理Session过期的几种方案
- [原]ASP.NET MVC异常处理方案
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-演示ORM对象与DataGridView的绑定技术-商品字典的另一个实现
- VS2005的DataGridView 表头合并处理
- WinForm中的DataGridView控件显示数据字典方案2