第1个回答 2011-03-26
在控件的 RowPostPaint的方法中添加如下函数即可
/// <summary>
/// datagridview显示行号
/// </summary>
/// <param name="dgv">dataGridView名</param>
/// <param name="e">RowPostPaint方法中的那个e</param>
static public void DatagridviewHH(DataGridView dgv, DataGridViewRowPostPaintEventArgs e)
{
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.Right);
}
示例:
private void dgv1_RowPostPaint(object sender,DataGridViewRowPostPaintEventArgs e)
{
DatagridviewHH(dgv1, e);
}
第2个回答 2011-04-01
/// <summary>
/// 添加行号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void dataGridViewX1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
using (SolidBrush b = new SolidBrush(dataGridViewX1.RowHeadersDefaultCellStyle.ForeColor))
{
e.Graphics.DrawString(Convert.ToString(e.RowIndex + 1, System.Globalization.CultureInfo.CurrentUICulture),
e.InheritedRowStyle.Font, b, e.RowBounds.Location.X + 10, e.RowBounds.Location.Y + 4);
}
}
第3个回答 2011-03-19
foreach (DataGridViewRow row in dataGridView.Rows)
{
if (row.IsNewRow) continue;
row.HeaderCell.Value = "Row " + rowNumber;
rowNumber = rowNumber + 1;
}
第4个回答 2011-03-18
for(int i = 1; i <= datagridview.rows.count; i++)
{
this.datagridview.rows[0][0] = i;
}