首页 > 代码库 > Winform 中DataGridView控件添加行标题

Winform 中DataGridView控件添加行标题

有很多种方法。 

1、可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value)

1         /// <summary>2         /// 行状态更改时发生3         /// </summary>4         /// <param name="sender"></param>5         /// <param name="e"></param>6         private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)7         {             
8    //e.Row.HeaderCell.Value = http://www.mamicode.com/string.Format("{0}", e.Row.Index + 1);9 e.Row.HeaderCell.Value = http://www.mamicode.com/(e.Row.Index + 1).ToString();//添加行号10 }

 

2、可以在DataGridView控件中的RowPostPaint事件例进行设置,TextRenderer类的DrawText()方法使用指定的设备上下文、字体、颜色和格式说明在指定界限中绘制指定文本。

 1         /// <summary> 2         /// 所有单元格绘制后,执行 行绘制时发生 3         /// </summary> 4         /// <param name="sender"></param> 5         /// <param name="e"></param> 6         private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) 7         { 8             // 9             System.Drawing.Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Y, this.dataGridView1.RowHeadersWidth - 4, this.dataGridView1.ColumnHeadersHeight);10             TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), this.dataGridView1.RowHeadersDefaultCellStyle.Font, rectangle, this.dataGridView1.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right);//”TextFormatFlags.VerticalCenter | TextFormatFlags.Right“中“|”有增加的作用,此处添加了两种文本字符格式样式11         }

 

Winform 中DataGridView控件添加行标题