以前用过的,总结下,以免忘记了,也给广大网友一个参考:
1. C# winform DataGridView 添加行号
private void GridView1_Paint(object sender, PaintEventArgs e)
{
int irowcount = this.GridView1.DisplayedRowCount(true);
if (irowcount == 0) return;
Rectangle currrct;
int startNo = this.GridView1.FirstDisplayedCell.RowIndex;
int ColNo = this.GridView1.FirstDisplayedCell.ColumnIndex;
string stext = "";
int nowy = 0;
int hDelta = 0;
for (int i = startNo; i < startNo + irowcount; i++)
{
currrct = (Rectangle)this.GridView1.GetCellDisplayRectangle(ColNo, i, true);
nowy = currrct.Y + 2;
stext = string.Format("{0, 3}", i + 1);
if (hDelta == 0)
hDelta = (currrct.Height - this.Font.Height) / 2;
if (this.GridView1.Rows[i].Selected == true)
e.Graphics.DrawString(stext, this.Font, new SolidBrush(Color.White), 10, nowy + hDelta);
else
e.Graphics.DrawString(stext, this.Font, new SolidBrush(Color.Black), 10, nowy + hDelta);
}
}
2.C# Webform DataView 添加行号
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowIndex!=-1)
{
int id = e.Row.RowIndex + 1;
e.Row.Cells[0].Text = id.ToString();
}
}