Winform中的dataGridView添加自动编号

新建一个WinForm项目,在工具栏里拖一个dataGriView到窗体中,默认名称为dataGridView1,把数据源添加到dataGridView1中,运行,看到dataGriView1有数据显示,但没有行编号,所以我们需要添加一列,用来显示行号,以便我们知道这是第几条记录。选中dataGriView1,然后在属性列表的事件选择RowPostPaint事件,双击后添加事件处理函数,代码如下:

复制代码
privatevoid dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
    //自动编号,与数据无关
    Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, 
       e.RowBounds.Location.Y, 
       dataGridView1.RowHeadersWidth - 4, 
       e.RowBounds.Height);
    TextRenderer.DrawText(e.Graphics, 
          (e.RowIndex + 1).ToString(), 
           dataGridView1.RowHeadersDefaultCellStyle.Font, 
           rectangle, 
           dataGridView1.RowHeadersDefaultCellStyle.ForeColor, 
           TextFormatFlags.VerticalCenter | TextFormatFlags.Right);
}
复制代码

再次运行程序,就能看到多了一个标题列,显示数据的行号!!嘻嘻。。。

posted @ 2018-05-19 15:13  #C和C#  阅读(1053)  评论(0编辑  收藏  举报