关于DataGridView控件的标题列显示序号方法问题,及不显示标题列方法

如果想让DataGridView不显示标题列,只需要设置

RowHeadersVisible属性为false即可。

这样可以自己定义第一列 为序号列。

如果想在标题列显示序号,方法如下:

 

列标题头设置如下:

 dataGridView1.TopLeftHeaderCell.Value = "编号";

  private void 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);
        }

或者Datagridview的RowStateChanged事件,只需在该事件处理程序中加上一行代码即可为Datagridview显示行号了,代码如下:
e.Row.HeaderCell.Value = (e.Row.Index + 1).ToString();

还有一些其他方法。


版权声明:本文为xlg1128原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。