程序设计-C# 为DataGridView加上序号

DataGridView是一个功能强大的用户控件。当DataGridView从数据源中获取到的表项并没有序号的时候,我们需要给它添加一个序号。

添加序号有两种方法,重写DataGridView的OnRowPostPaint方法或者直接在DataGridView的RowPostPaint事件里写。

方法一:重写OnRowPostPaint

using System;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace Test
{
    class DataGridViewEx : DataGridView
    {
        SolidBrush solidBrush;
        public DataGridViewEx()
        {
            solidBrush = new SolidBrush(this.RowHeadersDefaultCellStyle.ForeColor);
        }
        protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e)
        {
            e.Graphics.DrawString((e.RowIndex + 1).ToString(), e.InheritedRowStyle.Font, solidBrush, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + 5);
            base.OnRowPostPaint(e);
        }
    }
}

方法二:RowPostPaint事件

 private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            SolidBrush b = new SolidBrush(this.dataGridView1.RowHeadersDefaultCellStyle.ForeColor);
            e.Graphics.DrawString((e.RowIndex + 1).ToString(System.Globalization.CultureInfo.CurrentUICulture), this.dataGridView1.DefaultCellStyle.Font, b, e.RowBounds.Location.X + 20, e.RowBounds.Location.Y + 4);
        }

 

俊霖

发表评论

您必须