现在的位置: 首页 > 综合 > 正文

GridView生成序号

2012年08月28日 ⁄ 综合 ⁄ 共 1096字 ⁄ 字号 评论关闭

一个经常碰到的情况:GridView需要添加一个序号列,并且从1开始自动编号。而数据库中的ID往往是不连续的(会有记录被删除的情况),我们无法绑定现有字段作为编号。因此我们需要手动给GridView编号。

思路:在GridView每一行,既Row,被生成的时候,在序号单元格中输出该行的ID+1(第一行是从0开始编的,因此要+1)
 

 

首先,在ASPX页面中,需要手动给GridView添加一个BoundField。

<ASP:GRIDVIEW id=GridView1 EnableModelValidation="True" AutoGenerateColumns="False" runat="server">
    <COLUMNS>
        <ASP:BOUNDFIELD HeaderText="序号">
            <HEADERSTYLE Height="24px" />
            <ITEMSTYLE Height="24px" Font-Size="14px" />
        </ASP:BOUNDFIELD>
        <ASP:BOUNDFIELD HeaderText="卡号" DataField="Sn" />
        <ASP:BOUNDFIELD HeaderText="货物规格" />
        <ASP:BOUNDFIELD HeaderText="数量" />
        <ASP:BOUNDFIELD HeaderText="供货商ID" DataField="GhsId" />
        <ASP:BOUNDFIELD HeaderText="收货人姓名" DataField="Shr" />
        <ASP:BOUNDFIELD HeaderText="收货人电话" DataField="ShrContact" />
        <ASP:BOUNDFIELD HeaderText="送货地址" DataField="ShAddress" />
        <ASP:BOUNDFIELD HeaderText="物流单号" />
        <ASP:BOUNDFIELD HeaderText="备注" DataField="Bz" />
    </COLUMNS>
    <ROWSTYLE BorderWidth="1px" BorderStyle="Solid" BorderColor="Black" />
</ASP:GRIDVIEW>

后台代码这样写:

//Gridview自动生成序号
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowIndex > -1)
    {
        e.Row.Cells[0].Text = Convert.ToString(e.Row.RowIndex + 1);
    }
}

20100926122144438

抱歉!评论已关闭.