在GridView使用过程中,我们通常为了让用户更方便地看出每条数据的记录序号,通常会在每一行数据行中第一列实行1、2、3、等数字进行编号标记,也许你会说,不是有ID主键吗?那样也可以实现呀。但是如果采用ID主键作为序列号作为标记,当数据表中采用删除操作,将其中的某一行或几行都删除了,就会出现序号断层,不再连续显示了。那么我们这时候就需要进行自定义编排序号了。在GridView 中如何实现呢?
双击GridView数据表,激活OnRowDataBound()事件,在后台的GridView1_RowDataBound()方法添加代码,如下所示:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
//(1)当遇上分页表格时候,自动编号实现如下:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[1].Text = ((GV_file.PageSize * GV_file.PageIndex) + e.Row.RowIndex + 1).ToString();//在第二列进行标记序号:e.Row.Cells[1].Text
}
或者:
if (e.Row.RowIndex != -1)//实现自增序号
{
int id = (e.Row.RowIndex + 1) + GridViewPlanDetail.PageIndex * GridViewPlanDetail.PageSize;
e.Row.Cells[0].Text = id.ToString();
}
//(2)当没有采取自动分页进行显示时,自动编号实现为:
if(e.Row.RowIndex!=-1)
{
int id=e.Row.RowIndex+1;
e.Row.Cells[0].Text=id.ToString();
}
}