隐藏空白列:
dataGridView1.RowHeadersVisible = false;
设置空白列的宽度不可改变:
this.dgv.RowHeadersWidthSizeMode = System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode.DisableResizing;
在空白列显示行数的方法:
private void dgv_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { //#region 方法一 //using (SolidBrush b = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor)) //{ // int linen = 0; // linen = e.RowIndex + 1; // string line = linen.ToString(); // e.Graphics.DrawString(line, e.InheritedRowStyle.Font, b, e.RowBounds.Location.X, e.RowBounds.Location.Y + 5); // SolidBrush B = new SolidBrush(Color.Red); //} //#endregion #region 方法二 Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, dgv.RowHeadersWidth - 4, e.RowBounds.Height); TextRenderer.DrawText( e.Graphics, (e.RowIndex + 1).ToString(), dgv.RowHeadersDefaultCellStyle.Font, rectangle, dgv.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter ); #endregion }
如果你是使用Table绑定的Gridview建议使得如下方法:
//实现功能 DataGridView 添加 自动编号 DataTable table =new DataTable(); DataColumn column = new DataColumn(); column.AutoIncrement = true; //AutoIncrement 获取或设置一个值,该值指示对于添加到该表中的新行,列是否将列的值自动递增 column.ColumnName = "自动编号"; column.AutoIncrementSeed = 1; column.AutoIncrementStep = 1; table.Columns.Add(column); table.Merge(table);//Merge合并DataTable this.dataGridView1.DataSource = table;