winform中datagridview控件的列名怎样实现多表头?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform中datagridview控件的列名怎样实现多表头?相关的知识,希望对你有一定的参考价值。

</img>

参考技术A 用2个datagridview控件,上面那个就一个表头,去掉其他的编辑,修改和添加属性,下面的那个才是绑定数据库的,如果你的列能自定义宽度,则还需要在这2个控件上添加列宽变化事件,使得上下2个控件列宽统一下. 参考技术B datagridview 是表格控件,如果你需要的是报表,请换用报表控件而不是表格控件。

winform中datagridview实现多表头比你想象中要难得多,需要继承该控件,在子类里面重写好几个事件的处理,更要命的是重绘,所以吃力不讨好,还是换控件来的简单
参考技术C 建议使用FineUI
可以看一下示例:http://fineui.com/demo/
参考技术D 明白意思哦,什么叫多表头。

如何设计WinForm中DataGridView控件的自定义按钮列

  在信息管理系统的开发过程中,我们常需要将信息显示为一个列表,并在表格的最后一列显示“查看信息”或“修改”、“删除”等按钮。在Asp.Net中我们可以采用Repeater控件方便的实现,但在WinForm中我们常用的DataGridView控件,却并不支持在一列中显示多个按钮。

  查看信息列表界面:

  修改、删除信息列表界面:

  系统源码截图:

参考技术A public void DgvStyle3(DataGridView dgv)

//未显示数据时的背景色
dgv.BackgroundColor = System.Drawing.SystemColors.ButtonFace;
//显示数据时的背景色
dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.Black;
//数据网格颜色
dgv.GridColor = System.Drawing.Color.Red;
//列标题的边框样式
dgv.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
//行的边框样式
dgv.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
////禁止当前默认的视觉样式
dgv.EnableHeadersVisualStyles = false;
//列标题的宽度
dgv.ColumnHeadersHeight = 28;

//列标题的字体颜色
dgv.ColumnHeadersDefaultCellStyle.ForeColor = System.Drawing.Color.Blue;
//列标题的背景颜色
dgv.ColumnHeadersDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
//所有数据字体的颜色
int RowsCount = dgv.Columns.Count;
for (int i = 0; i < RowsCount; i++)

dgv.Columns[i].DefaultCellStyle.ForeColor = System.Drawing.Color.Yellow;

以上是关于winform中datagridview控件的列名怎样实现多表头?的主要内容,如果未能解决你的问题,请参考以下文章

C# .net不同版本中winform控件 dataGrid /DataGrid/DataGridView 有啥区别

datagridview控件的列名与DataSet中列名对应

winform DataGridView 动态添加一列控件(自定义控件)

用c#winform拖的datagridview控件,当选中一行数据以后鼠标离开之后,就选不中了

Winform 下,两个不同窗体的DataGridView控件中的数据间传值怎么解决?

WinForm DataGridView控件duck布局