zoukankan      html  css  js  c++  java
  • winform中DataGirdView添加行号和基数行样式

    1,添加行号功能

    添加RowPostPaint事件

            //DataGridView所有单元格发生绘制的后的事件
    private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
    {
    DataGridViewStyle.DgvRowPostPaint2(this.dataGridView1, e);
    }
    

      

      要使用到的类:DataGridViewStyle

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing;
     
    namespace _009_TPS.MyClass.Class
    {
        /// <summary>
        /// 设置DataGridView的样式
        /// </summary>
        public class DataGridViewStyle
        {
            /// <summary>
            /// 普通的样式
            /// </summary>       
            public static void DgvStyle1(DataGridView dgv)
            {
                //奇数行的背景色
                dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
                dgv.AlternatingRowsDefaultCellStyle.SelectionForeColor = System.Drawing.Color.Blue;
                dgv.AlternatingRowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
                //dgv.ColumnHeadersDefaultCellStyle.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
                //默认的行样式
                dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
                dgv.RowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
                dgv.RowsDefaultCellStyle.SelectionForeColor = System.Drawing.Color.Blue;
                //数据网格颜色
                dgv.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
                //列标题的宽度
                dgv.ColumnHeadersHeight = 28;
            }
            /// <summary>
            /// 凹凸样式
            /// </summary>
            /// 需要手动设置this.RowTemplate.DividerHeight = 2;   
            public static void DgvStyle2(DataGridView dgv)
            {
                dgv.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.Sunken;
                //列标题的边框样式
                dgv.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Sunken;
                dgv.ColumnHeadersDefaultCellStyle.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
                dgv.ColumnHeadersDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
                dgv.ColumnHeadersHeight = 28;
                //行的边框样式
                dgv.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Sunken;
                dgv.DefaultCellStyle.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
                dgv.RowTemplate.DividerHeight = 1;
                //禁止当前默认的视觉样式
                dgv.EnableHeadersVisualStyles = false;
            }
    
    
            /// <summary>
            /// 参数设置
            /// </summary>       
            public static void DgvStyle3(DataGridView dgv)
            {
                //奇数行的背景色
                dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(29)))), ((int)(((byte)(48)))));
                dgv.AlternatingRowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(168)))), ((int)(((byte)(223)))));
    
                //默认的行样式
                dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(42)))), ((int)(((byte)(71)))));
                dgv.RowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(115)))), ((int)(((byte)(168)))), ((int)(((byte)(223)))));
                //dgv.RowsDefaultCellStyle.SelectionForeColor = System.Drawing.Color.Blue;
                //数据网格颜色
                dgv.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(214)))), ((int)(((byte)(214)))), ((int)(((byte)(214)))));
                //列标题的宽度
                dgv.ColumnHeadersHeight = 28;
    
            }
            /// <summary>
            /// 数据报表
            /// </summary>       
            public static void DgvStyle4(DataGridView dgv)
            {
                //奇数行的背景色
                dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(29)))), ((int)(((byte)(48)))));
                dgv.AlternatingRowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(29)))), ((int)(((byte)(48)))));
    
                //默认的行样式
                dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(42)))), ((int)(((byte)(71)))));
                dgv.RowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(42)))), ((int)(((byte)(71)))));
                //dgv.RowsDefaultCellStyle.SelectionForeColor = System.Drawing.Color.Blue;
                //数据网格颜色
                //dgv.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(214)))), ((int)(((byte)(214)))), ((int)(((byte)(214)))));
    
            }
            /// <summary>
            /// 故障报警
            /// </summary>
            /// <param name="dgv"></param>
            public static void DgvStyle5(DataGridView dgv)
            {
                //奇数行的背景色
                dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(88)))), ((int)(((byte)(124)))));
                dgv.AlternatingRowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(88)))), ((int)(((byte)(124)))));
    
                //默认的行样式
                dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(61)))), ((int)(((byte)(90)))));
                dgv.RowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(61)))), ((int)(((byte)(90)))));
                //dgv.RowsDefaultCellStyle.SelectionForeColor = System.Drawing.Color.Blue;
                //数据网格颜色
                dgv.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(214)))), ((int)(((byte)(214)))), ((int)(((byte)(214)))));
                //列标题的宽度
                dgv.ColumnHeadersHeight = 28;
            }
            /// <summary>
            /// 报警记录
            /// </summary>       
            public static void DgvStyle6(DataGridView dgv)
            {
                //奇数行的背景色
                dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(29)))), ((int)(((byte)(48)))));
                dgv.AlternatingRowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(29)))), ((int)(((byte)(48)))));
    
                //默认的行样式
                dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(42)))), ((int)(((byte)(71)))));
                dgv.RowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(42)))), ((int)(((byte)(71)))));
                //dgv.RowsDefaultCellStyle.SelectionForeColor = System.Drawing.Color.Blue;
                //数据网格颜色
                //dgv.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(214)))), ((int)(((byte)(214)))), ((int)(((byte)(214)))));
    
            }
            /// <summary>
            /// 实时报警
            /// </summary>
            /// <param name="dgv"></param>
            public static void DgvStyle7(DataGridView dgv)
            {
                //奇数行的背景色
                dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(88)))), ((int)(((byte)(124)))));
                dgv.AlternatingRowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(88)))), ((int)(((byte)(124)))));
    
                //默认的行样式
                dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(61)))), ((int)(((byte)(90)))));
                dgv.RowsDefaultCellStyle.SelectionBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(61)))), ((int)(((byte)(90)))));
                //dgv.RowsDefaultCellStyle.SelectionForeColor = System.Drawing.Color.Blue;
                //数据网格颜色
                dgv.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(214)))), ((int)(((byte)(214)))), ((int)(((byte)(214)))));
                //列标题的宽度
                dgv.ColumnHeadersHeight = 28;
            }
            /// <summary>
            /// 给DataGridView添加行号
            /// </summary>
            /// <param name="dgv"></param>
            /// <param name="e"></param>
            public static void DgvRowPostPaint(DataGridView dgv, DataGridViewRowPostPaintEventArgs e)
            {
                try
                {
                    //添加行号
                    SolidBrush v_SolidBrush = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor);
                    int v_LineNo = 0;
                    v_LineNo = e.RowIndex + 1;
                    string v_Line = v_LineNo.ToString();
                    e.Graphics.DrawString(v_Line, e.InheritedRowStyle.Font, v_SolidBrush, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + 5);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("添加行号时发生错误,错误信息:" + ex.Message, "操作失败");
                }
            }
            /// <summary>
            /// 给DataGridView添加行号2
            /// </summary>
            /// <param name="dgv"></param>
            /// <param name="e"></param>
            public static void DgvRowPostPaint2(DataGridView dgv, DataGridViewRowPostPaintEventArgs e)
            {
                try
                {
                    //添加行号
                    SolidBrush v_SolidBrush = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor);
                    int v_LineNo = 0;
                    v_LineNo = e.RowIndex + 1;
                    string v_Line = v_LineNo.ToString();
                    e.Graphics.DrawString(v_Line, e.InheritedRowStyle.Font, v_SolidBrush, e.RowBounds.Location.X, e.RowBounds.Location.Y);//参数3和4是行号文本在单元格的位置
                }
                catch (Exception ex)
                {
                    MessageBox.Show("添加行号时发生错误,错误信息:" + ex.Message, "操作失败");
                }
            }
        }
    }
    

      

      

  • 相关阅读:
    问题账户需求分析
    2017年秋季个人阅读计划
    读“我们应当怎样做需求分析”有感
    开发体会
    第二阶段个人总结10
    第二阶段个人总结09
    第二阶段个人总结08
    个人进度(13)
    个人进度(12)
    个人进度(11)
  • 原文地址:https://www.cnblogs.com/baozi789654/p/12584801.html
Copyright © 2011-2022 走看看