DataGridView合并单元格(多行多列合并)
标签:datagridview style blog io color os ar for 数据
一、点击在拖入的显示控件(TreeList)右上方的箭头,在Treelist任务中选择数据源,添加项目数据源,依次选择数据库、数据集,新建连接,浏览选择数据库(*.mdb),依次点击 下一步,选择“表”,完成。
二、具体代码如下:
#region"合并单元格(多行多列)"
//需要(行、列)合并的所有列标题名
List colsHeaderText_V = new List();
List colsHeaderText_H = new List();
private void InitFormatColumns()
{
colsHeaderText_V.Add("PHONE1");
colsHeaderText_V.Add("PHONE2");
colsHeaderText_H.Add("IMAGEINDEX");
colsHeaderText_H.Add("PARENTID");
colsHeaderText_H.Add("DEPARTMENT");
colsHeaderText_H.Add("LOCATION");
}
//绘制单元格
private void dataGridView1_CellPainting(object sender, System.Windows.Forms.DataGridViewCellPaintingEventArgs e)
{
foreach (string fieldHeaderText in colsHeaderText_H)
{
//纵向合并
if (e.ColumnIndex >= 0 && this.dataGridView1.Columns[e.ColumnIndex].HeaderText == fieldHeaderText && e.RowIndex >= 0)
{
using (
Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),
backColorBrush = new SolidBrush(e.CellStyle.BackColor))
{
using (Pen gridLinePen = new Pen(gridBrush))
{
// 擦除原单元格背景
e.Graphics.FillRectangle(backColorBrush, e.CellBounds);
/****** 绘制单元格相互间隔的区分线条,datagridview自己会处理左侧和上边缘的线条,因此只需绘制下边框和和右边框
DataGridView控件绘制单元格时,不绘制左边框和上边框,共用左单元格的右边框,上一单元格的下边框*****/
//不是最后一行且单元格的值不为null
if (e.RowIndex = 0 && this.dataGridView1.Columns[e.ColumnIndex].HeaderText == fieldHeaderText && e.RowIndex >= 0)
{
using (
Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),
backColorBrush = new SolidBrush(e.CellStyle.BackColor))
{
using (Pen gridLinePen = new Pen(gridBrush))
{
// 擦除原单元格背景
e.Graphics.FillRectangle(backColorBrush, e.CellBounds);
/****** 绘制单元格相互间隔的区分线条,datagridview自己会处理左侧和上边缘的线条,因此只需绘制下边框和和右边框
DataGridView控件绘制单元格时,不绘制左边框和上边框,共用左单元格的右边框,上一单元格的下边框*****/
//不是最后一列且单元格的值不为null
if (e.ColumnIndex
DataGridView合并单元格(多行多列合并)
标签:datagridview style blog io color os ar for 数据
原文地址:http://www.cnblogs.com/shenchao/p/4064444.html
评论