this.dataGridView1.DataSource = this.dISASTERBindingSource;
            this.dataGridView1.Location = new System.Drawing.Point(0, 0);
            this.dataGridView1.Name = "dataGridView1" ;
            this.dataGridView1.RowTemplate.Height = 30;
            this.dataGridView1.Size = new System.Drawing.Size(773, 343);
            this.dataGridView1.TabIndex = 0;
            this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler (this.dataGridView1_CellContentClick);
            this.dataGridView1.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler (this.dataGridView1_endEdit);
            this.dataGridView1.AllowUserToResizeColumns = false;
            this.dataGridView1.AllowUserToResizeRows = false;
           
            /*
             * 设置最后边的背景色
             * */
            this.dataGridView1.BackgroundColor = System.Drawing.Color.FromArgb(240, 240, 240);
            /**
            *设置表头的高度 、对齐方式、颜色
            **/
            this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode .DisableResizing;
            this.dataGridView1.ColumnHeadersHeight = 40;
          
            this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment .MiddleCenter;
            this.dataGridView1.RowHeadersDefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment .MiddleCenter;
 
            this.dataGridView1.EnableHeadersVisualStyles = false;
            this.dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = System.Drawing.Color.YellowGreen;
            this.dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = System.Drawing.Color.BlueViolet;
           
            /**
            *设置第一列不可编辑
            **/
            this.dataGridView1.Columns[0].ReadOnly = true;
            /**
           *设置表格外边框样式
           **/
            this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
            /**
           *设置表格内部的线条颜色
           **/
            this.dataGridView1.GridColor = System.Drawing.Color.WhiteSmoke;
            /**
           *去掉最后一行
           **/
            this.dataGridView1.AllowUserToAddRows = false;
            /**
           *左侧标题栏隐藏
           **/
            this.dataGridView1.RowHeadersVisible = false;
            /**
           *设置选中单元的背景色和字体颜色
           **/
            this.dataGridView1.DefaultCellStyle.SelectionBackColor = System.Drawing.Color.White;
            this.dataGridView1.DefaultCellStyle.SelectionForeColor = System.Drawing.Color.Black;
            /**
           *竖直方向填充满datagridview
           **/
            this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode .Fill;
 
         
           /**
           *带链接的列
           **/
            private System.Windows.Forms. DataGridViewLinkColumn editColumn;
            this.editColumn.LinkColor = System.Drawing.Color.Blue;
            this.editColumn.UseColumnTextForLinkValue = true;
            this.editColumn.Text = "修改" ;
            this.editColumn.HeaderText = "编辑" ;
            this.editColumn.Name = "editColumn" ;
            this.editColumn.DefaultCellStyle.Alignment = System.Windows.Forms.DataGridViewContentAlignment .MiddleCenter;
 
   //datagridview前面加序号  直接在方法rowpostpaint中添加dataGridView_RowPostPaint这个方法就可以了  需要把rowheadervisible改为true
        private void dataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            SetDataGridViewRowXh(e, sender as DataGridView);
        }
        private void SetDataGridViewRowXh(DataGridViewRowPostPaintEventArgs e, DataGridView dataGridView)
        {
            SolidBrush solidBrush = new SolidBrush(dataGridView.RowHeadersDefaultCellStyle.ForeColor);
            int xh = e.RowIndex + 1;
            e.Graphics.DrawString(xh.ToString(CultureInfo.CurrentUICulture), e.InheritedRowStyle.Font, solidBrush, e.RowBounds.Location.X + 5, e.RowBounds.Location.Y + 4);
        }
         
 #region 重绘datagridview表头
            DataGridView dgv = (DataGridView )(sender);
            if (e.RowIndex == -1 && (e.ColumnIndex == 1 || e.ColumnIndex == 2))
            {
 
                //e.CellStyle.Font = new Font(dataGridView1.DefaultCellStyle.Font, FontStyle.Bold);
                //e.CellStyle.WrapMode = DataGridViewTriState.True;
                if (e.ColumnIndex == 1)
                {
                    top = e.CellBounds.Top;
                    left = e.CellBounds.Left;
                    height = e.CellBounds.Height;
                    width1 = e.CellBounds.Width;
                }
 
 
                int width2 = this .dataGridView1.Columns[2].Width;
 
                Rectangle rect = new Rectangle(left, top, width1 + width2, e.CellBounds.Height);
                using (Brush backColorBrush = new SolidBrush(e.CellStyle.BackColor))
                {
                    //抹去原来的cell背景
                    e.Graphics.FillRectangle(backColorBrush, rect);
                }
 
                using (Pen gridLinePen = new Pen(dgv.GridColor))
                {
                    //画表头的左、上、右、下边线
                    //e.Graphics.DrawLine(gridLinePen, left, top , left, top + height);
                    e.Graphics.DrawLine(gridLinePen, left, top , left + width1 + width2-1, top );
                    e.Graphics.DrawLine(gridLinePen, left + width1 + width2 - 1, top, left + width1 + width2 - 1, top + height-2);
                    e.Graphics.DrawLine( new Pen (Color.FromArgb(160, 160, 160)), left, top + height - 1, left + width1 + width2-1, top + height - 1);
                    //计算绘制字符串的位置
                    string columnValue = "编辑" ;
                    SizeF sf = e.Graphics.MeasureString(columnValue, e.CellStyle.Font);
                    float lstr = (width1 + width2 - sf.Width) / 2;
                    float rstr = (height - sf.Height) / 2;
 
                    //画出文本框
                    if (columnValue != "" )
                    {
                        e.Graphics.DrawString(columnValue, e.CellStyle.Font,
                                                   new SolidBrush (e.CellStyle.ForeColor),
                                                     left + lstr,
                                                     top + rstr,
                                                     StringFormat.GenericDefault);
                    }
 
                }
                e.Handled = true;
 
 
            }
            #endregion

c# DataGridView 的一些属性设置,序号,合并头的更多相关文章

  1. c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

    一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index ...

  2. 转:c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

    一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index  ...

  3. DEVexpress GridControl 属性设置

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  4. DEV控件GridControl常用属性设置

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  5. DevExpress GridView属性设置 z

    本文主要总结控件的属性设置,附上图片,给大家一个参考.后续会给大家分享功能实现和使用的小技巧. GirdControl是数据的容器,它包含多种显示方式,GridView则是一种二维表格视图. 绑定数据 ...

  6. DataGridView 列自适应宽度 设置

    代码: Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; 或者设置DataGridView的AutoSizeColu ...

  7. white-space 属性设置如何处理元素内的空白

    定义和用法white-space 属性设置如何处理元素内的空白. 这个属性声明建立布局过程中如何处理元素中的空白符.值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的. 默认值: ...

  8. (转)DevExpress GridView属性设置

    GirdControl是数据的容器,它包含多种显示方式,GridView则是一种二维表格视图. 绑定数据源: List<Student> list = new List<Studen ...

  9. DEV控件GridControl常用属性设置(转)

      1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView. ...

随机推荐

  1. GDUFE-OJ 1070上班打卡 ^位运算

    Problem Description: 某公司上班使用打卡制度,员工需要在打卡机器上打入和打出才算上班.每个员工都有自己对应编号K,编号为一个整数(1 <= K <=50000),某天有 ...

  2. Bootstrap 3 Datepicker 使用过程

    最近在创建记录的时候,需要用到日历的功能.本身是使用的bootstrap布局的,所以就找到Datepicker,看了一下用起来还是挺方便的.下面就是使用过程. 依赖的资源 jQuery Moment. ...

  3. break continue return

    break 通常用在循环语句和开关语句中,当break语句用于do-while.for.while循环语句中时,可使程序终止循环而执行循环后面的语句, 通常break语句总是与if语句联在一起,即满足 ...

  4. 设计一个泛型类Collection

    要求:设计一个泛型类Collection,它存储object对象的集合(在数组中),以及该集合当前的大小.提供public方法isEmtpy,makeEmpty,insert,remove,isPre ...

  5. GUI 下

    11.6 Swing组件 JButton JLabel JTextField JTextArea JTable JTree publicclass JTableDemo extends JFrame ...

  6. dpkg: 处理归档 /var/cache/apt/archives/软件名 (--unpack)时出错:由于已经达到 MaxReports 限制,没有写入 apport 报告。

    一.环境介绍: OS:ubuntu16.04 64bit 二.错误如下: 正准备解包 .../libqt4-script_4%3a4.8.7+dfsg-5ubuntu2_i386.deb  ...正在 ...

  7. iOS 消息推送报错NSCocoaErrorDomain Code=3000

    转自: http://www.cnblogs.com/zxykit/p/5207498.html Xcode7推送报错.Error Domain=NSCocoaErrorDomain Code=300 ...

  8. Python 启动本地服务

    在 Linux 服务器上或安装了 Python 的机器上,Python自带了一个WEB服务器 SimpleHTTPServer,我们可以很简单的使用  python -m SimpleHTTPServ ...

  9. 转:eclipse打开文件或者目录位置(不使用插件)

    http://my.oschina.net/havoc/blog/204958?p= 首先说不使用插件的方法 WINDOWS eclipse配置 Run-->External Tools--&g ...

  10. CentOS下设置MySQL的root密码

    CentOS刚装的MySQL一般需要重设MySQL密码,可以用以下方法重设. 方法一. Js代码  # /etc/init.d/mysqld stop  # mysqld_safe --user=my ...