精华内容
下载资源
问答
  • DataGridView合并单元格

    2011-11-18 22:15:41
    DataGridView合并单元格,附加数据库详细的开发注释说明。直接打开运行。
  • datagridview 合并单元格

    2009-11-04 11:46:00
    datagridview 合并单元格 private void DataGrid1_PreRender(object sender, System.EventArgs e) { for(int i=0;i;i++) { TableCell cell1 =DataGrid1.

    datagridview 合并单元格

     

       

     
    展开全文
  • DataGridView 合并单元格

    2014-07-20 20:19:57
    DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.DrawString 自己来“画”。 下面的代码可以对DataGridView第1列内容相同的单元格进行...

    该篇文章不完美

    DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.DrawString 自己来“画”。

    下面的代码可以对DataGridView第1列内容相同的单元格进行合并:
            private void dgv_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
            {
                // 对第1列相同单元格进行合并
                if (e.ColumnIndex == 0 && e.RowIndex != -1)
                {
                    using
                        (
                        Brush gridBrush = new SolidBrush(this.dgv.GridColor),
                        backColorBrush = new SolidBrush(e.CellStyle.BackColor)
                        )
                    {
                        using (Pen gridLinePen = new Pen(gridBrush))
                        {
                            // 清除单元格
                            e.Graphics.FillRectangle(backColorBrush, e.CellBounds);

                            // 画 Grid 边线(仅画单元格的底边线和右边线)
                            //   如果下一行和当前行的数据不同,则在当前的单元格画一条底边线
                            if (e.RowIndex < dgv.Rows.Count - 1 &&
                            dgv.Rows[e.RowIndex + 1].Cells[e.ColumnIndex].Value.ToString() != e.Value.ToString())
                                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left,
                                e.CellBounds.Bottom - 1, e.CellBounds.Right - 1,
                                e.CellBounds.Bottom - 1);
                            // 画右边线
                            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1,
                                e.CellBounds.Top, e.CellBounds.Right - 1,
                                e.CellBounds.Bottom);

                            // 画(填写)单元格内容,相同的内容的单元格只填写第一个
                            if (e.Value != null)
                            {
                                if (e.RowIndex > 0 &&dgv.Rows[e.RowIndex - 1].Cells[e.ColumnIndex].Value.ToString() == e.Value.ToString())
                                { }
                                else
                                {
                                    e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
                                        Brushes.Black, e.CellBounds.X + 2,
                                        e.CellBounds.Y + 5, StringFormat.GenericDefault);
                                }
                            }
                            e.Handled = true;
                        }
                    }
                }

    转自http://www.cnblogs.com/yuanermen/archive/2007/03/29/692683.aspx

    展开全文
  • C# DataGridView 合并单元格

    热门讨论 2011-11-25 08:48:31
    C# DataGridView 合并单元格
  • Datagridview合并单元格

    2015-05-28 22:38:07
    一直想把datagridview做成报表的样式,但是就得合并单元格,但是发现以前的知识没怎么用的上,后来在王少了这么一个源码,如果大家需要的话,直接复制粘贴就可以了,样式挺好看的。  private void dataGridView1_...

               一直想把datagridview做成报表的样式,但是就得合并单元格,但是发现以前的知识没怎么用的上,后来在王少了这么一个源码,如果大家需要的话,直接复制粘贴就可以了,样式挺好看的。

          

    private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
            {
               
                if (dataGridView1.Rows.Count > 0)
                {
    
                    if (dataGridView1.Rows[0].Cells[0].Value.ToString().Trim() != string.Empty)
                    {
                        try
                        {
                            for (int i = 0; i < dataGridView1.Rows.Count; i++)
                            {
                                #region MyRegion
                                if (dataGridView1.Columns[i].Index == e.ColumnIndex && e.RowIndex >= 0)
                                {
                                    using (
                                        Brush gridBrush = new SolidBrush(dataGridView1.GridColor),
                                        backColorBrush = new SolidBrush(e.CellStyle.BackColor))
                                        {
                                            using (Pen gridLinePen = new Pen(gridBrush))
                                            {
                                                // 擦除原单元格背景
                                                e.Graphics.FillRectangle(backColorBrush, e.CellBounds);
    
                                                if (e.RowIndex != dataGridView1.RowCount - 1)
                                                {
                                                    if (e.Value.ToString() != dataGridView1.Rows[e.RowIndex + 1].Cells[e.ColumnIndex].Value.ToString())
                                                    {
                                                        e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, e.CellBounds.Bottom - 1,
                                                        e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);//下边缘的线 
                                                    }
                                                }
                                                else
                                                {
                                                    e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, e.CellBounds.Bottom - 1,
                                                        e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);//下边缘的线                       
                                                }
    
                                                //右侧的线
                                                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1, //x1,y1,x2,y2
                                                    e.CellBounds.Top, e.CellBounds.Right - 1,
                                                    e.CellBounds.Bottom - 1);
    
                                                #region MyRegion
                                                if (e.RowIndex == 0)
                                                {
                                                    //绘制第一列的值
                                                    if (e.Value != null)
                                                    {
    
                                                        e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
                                                            Brushes.Crimson,
                                                            e.CellBounds.X + (e.CellBounds.Width - e.Graphics.MeasureString(e.Value.ToString().Trim(), e.CellStyle.Font).Width) / 2,
                                                            e.CellBounds.Y + 2, StringFormat.GenericDefault);
                                                    }
                                                }
                                                else
                                                {
                                                    if (e.Value.ToString() != dataGridView1.Rows[e.RowIndex - 1].Cells[e.ColumnIndex].Value.ToString())
                                                    {
                                                        //绘制值
                                                        if (string.IsNullOrEmpty(e.Value.ToString().Trim()).Equals(false))
                                                        {
                                                            e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
                                                                Brushes.Crimson, e.CellBounds.X + (e.CellBounds.Width - e.Graphics.MeasureString(e.Value.ToString().Trim(), e.CellStyle.Font).Width) / 2,
                                                                e.CellBounds.Y + 2, StringFormat.GenericDefault);
                                                        }
                                                    }
                                                }
                                                #endregion
    
                                                e.Handled = true;
                                            }
                                        }
                                }
                                #endregion
                            }
    
                            
                        }
                        catch { }
                    }
                }
            }
    
    
    
            /// <summary>
            /// 添加一个表格
            /// </summary>
            public void addDatatable()
            {
    
                DataColumn dc = new DataColumn("ID");
                dt.Columns.Add(dc);
                dc = new DataColumn("name");
                dt.Columns.Add(dc);
                dc = new DataColumn("age");
                dt.Columns.Add(dc);
                dc = new DataColumn("sex");
                dt.Columns.Add(dc);
    
    
                dt.Rows.Add(2, "上海", "5000", "7000");
                dt.Rows.Add(2, "北京", "3000", "5600");
                dt.Rows.Add(3, "纽约", "6000", "8600");
                dt.Rows.Add(3, "华盛顿", "8000", "9000");
                dt.Rows.Add(4, "伦敦", "7000", "8800");
            }
    

    展开全文
  • DataGridView合并单元格(纵向合并及横向合并)
  • 用C#写的实现DataGridView合并单元格、分页显示、页面设置、打印和Excel导出功能,精典实例,可以直接使用。如在使用过程中有问题或改进,可以发Email:liubingchao@126.com;互相交流与学习。
  • datagridview合并单元格

    2013-01-20 15:51:53
    我用vb.net 2008,数据库用sql2008 制作了一个类似excel的表格,现在想实现 让用户合并单元格(与excel合并一样的功能),在网上搜集了很多资料,试了很多办法都没有实现,期待高手的指点。
  • dataGridView,合并单元格,实例,横向,纵向demo
  • DataGridView单元格合并和二维表头的实现实例,运行环境vs2010,可研究一下二维表格的变化和制作思路。 运行环境:Visual Studio2010
  • #region"合并单元格的测试" privateint?nextrow=null; privateint?nextcol=null; privatevoiddataGridView1_CellFormatting(objectsender,System.Windows.Forms.DataGridView...

    #region"合并单元格的测试"

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        private int? nextrow = null;

    c datag  ridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        private int? nextcol = null;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        private void dataGridView1_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            if (this.dataGridView1.Columns["description"].Index == e.ColumnIndex && e.RowIndex >= 0)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                if (this.nextcol != null & e.ColumnIndex == this.nextcol)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    e.CellStyle.BackColor = Color.LightBlue;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    this.nextcol = null;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                if (this.nextrow != null & e.RowIndex == nextrow)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    e.CellStyle.BackColor = Color.LightPink;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    this.nextrow = null;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                if (e.RowIndex != this.dataGridView1.RowCount - 1)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    if (e.Value.ToString() == this.dataGridView1.Rows[e.RowIndex + 1].Cells[e.ColumnIndex].Value.ToString())

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        e.CellStyle.BackColor = Color.LightPink;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        nextrow = e.RowIndex + 1;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            if (this.dataGridView1.Columns["name"].Index == e.ColumnIndex && e.RowIndex >= 0)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                if (e.Value.ToString() == this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value.ToString())

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    e.CellStyle.BackColor = Color.LightBlue;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    nextcol = e.ColumnIndex + 1;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        //==========================

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界       

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        //绘制单元格

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        private void dataGridView1_CellPainting(object sender, System.Windows.Forms.DataGridViewCellPaintingEventArgs e)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界 

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            //纵向合并

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            if (this.dataGridView1.Columns["description"].Index == e.ColumnIndex && e.RowIndex >= 0)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                using (

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    backColorBrush = new SolidBrush(e.CellStyle.BackColor))

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    using (Pen gridLinePen = new Pen(gridBrush))

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        // 擦除原单元格背景

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        e.Graphics.FillRectangle(backColorBrush, e.CellBounds);

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        /**/绘制线条,这些线条是单元格相互间隔的区分线条,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        因为我们只对列name做处理,所以datagridview自己会处理左侧和上边缘的线条

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        if (e.RowIndex != this.dataGridView1.RowCount - 1)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            if (e.Value.ToString() != this.dataGridView1.Rows[e.RowIndex + 1].Cells[e.ColumnIndex].Value.ToString())

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, e.CellBounds.Bottom - 1,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);//下边缘的线

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                //绘制值

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                if (e.Value != null)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                    e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                        Brushes.Crimson, e.CellBounds.X + 2,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                        e.CellBounds.Y + 2, StringFormat.GenericDefault);

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        else

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, e.CellBounds.Bottom - 1,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);//下边缘的线

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            //绘制值

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            if (e.Value != null)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                    Brushes.Crimson, e.CellBounds.X + 2,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                    e.CellBounds.Y + 2, StringFormat.GenericDefault);

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        //右侧的线

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            e.CellBounds.Top, e.CellBounds.Right - 1,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            e.CellBounds.Bottom - 1);

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        e.Handled = true;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            //横向合并

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            if (this.dataGridView1.Columns["name"].Index == e.ColumnIndex && e.RowIndex >= 0)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                using (

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    backColorBrush = new SolidBrush(e.CellStyle.BackColor))

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    using (Pen gridLinePen = new Pen(gridBrush))

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        // 擦除原单元格背景

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        e.Graphics.FillRectangle(backColorBrush, e.CellBounds);

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        if (e.Value.ToString() != this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value.ToString())

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            //右侧的线

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1, e.CellBounds.Top,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            //绘制值

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            if (e.Value != null)

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            ...{

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                    Brushes.Crimson, e.CellBounds.X + 2,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                    e.CellBounds.Y + 2, StringFormat.GenericDefault);

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                            }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        //下边缘的线

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, e.CellBounds.Bottom - 1,

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                                                    e.CellBounds.Right - 1, e.CellBounds.Bottom - 1);

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                        e.Handled = true;

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                    }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界                }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界            }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        }

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界

    c datagridview合并单元格 - 凡哥(尘士留缘) - 网络帝国大世界        #endregion

    转载于:https://www.cnblogs.com/Alum/archive/2010/04/20/3587984.html

    展开全文
  • DataGridView合并单元格只能进行重绘,网上基本上使用的是下面的方法: 1 /// <summary> 2 /// 说明:纵向合并单元格 3 /// 参数:dgv DataGridView,e 绘制的单元格 4 /// </summary> 5 ...
  • private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0 && e.Value.ToString() != string.Empty) ...
  • 现在的问题是,我想把这个包含合并单元格格式的datagridview打印出来,用了各种办法都不行,打印出来的都是没有合并单元格的样子,求解决办法!谢谢 或者,怎么把导出到EXCEL,保留合并单元格,我用EXCEL打印也是...
  • DataGridView合并单元格(横向合并)

    千次阅读 2019-04-18 16:13:58
    这里仅进行横向的单元格合并,没有进行纵向的单元格合并. 合并后的单元格没有点击效果,不过还算理想。代码如下: private void Form1_Load(object sender, EventArgs e) { DataTable dt = ...
  • 最近在做项目的时候,要求后台查询出来的数据相同的字段合并单元格,这个东西看着简单,百度一下晚上也有很多类似方法,但是有些方法还是有一定BUG的,所以,我在前人的基础上对代码进行了加工,完成了客户想要的...
  • 同事的一个项目需要将DataGridView单元格中的内容分...这种方法还可以用做合并单元格。参考代码:private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.RowIndex =
  • 根据其中的组合名称和cl和cf_flag,如果相同,就实现下面的效果 ... for (int i = 0; i < dt.Rows.Count; i++) ... dt.Rows[i]["emergy_type"] = hc.getEncoding(dt.Rows[i]["emergy_type"].ToString().Trim(), 0);...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 343
精华内容 137
关键字:

datagridview合并单元格