我们在用Gridview,SPGridview进行数据展现和业务处理的时候,难免会需要增加“序号”的栏位,先介绍两种不同的实现方式:
当没有分页时:
1:当栏位是在.ASPX页面手动添加的时候,可使用如下方法:
代码
<asp:TemplateField HeaderText="<nobr>序号</nobr>">
<ItemTemplate>
<asp:Label runat="server" ID="lblNo" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" ID="lblNo" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
2:当栏位是在后台.CS页面自己生成的栏位的时候,使用如下方法:
代码
//添加自动生成的序号
protected void SPGridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
int indexID = e.Row.RowIndex + 1;
e.Row.Cells[0].Text = indexID.ToString();
}
}
protected void SPGridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
int indexID = e.Row.RowIndex + 1;
e.Row.Cells[0].Text = indexID.ToString();
}
}
当分页时候:
1: 当栏位是在.ASPX页面手动添加的时候,可使用如下方法:
代码
<asp:TemplateField HeaderText="序号" InsertVisible="False">
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center"/>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%>' />
</ItemTemplate>
</asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center"/>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%>' />
</ItemTemplate>
</asp:TemplateField>
2:当栏位是在后台.CS页面自己生成的栏位的时候,使用如下方法:
代码
<asp:BoundField HeaderText="序号" ></asp:BoundField>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
int indexID = this.GridView1.PageIndex * this.myGridView.PageSize + e.Row.RowIndex + 1;
e.Row.Cells[0].Text = indexID.ToString();
}
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
int indexID = this.GridView1.PageIndex * this.myGridView.PageSize + e.Row.RowIndex + 1;
e.Row.Cells[0].Text = indexID.ToString();
}
}