添加序列号作为GridView中的第一列

时间:2011-01-22 08:53:21

标签: c# .net asp.net gridview

我有一个网格视图。它有两个绑定列。我需要将序列号列作为第一列。

我该怎么做? 在此先感谢

7 个答案:

答案 0 :(得分:17)

<asp:TemplateField HeaderText="S No">
    <ItemTemplate>
        <%# Container.DataItemIndex + 1 %>
    </ItemTemplate>
    <ItemStyle Width="2%" />
</asp:TemplateField>

答案 1 :(得分:3)

创建一个包含两列的数据表,使用第一列作为自动增量为true,AutoIncrementStep = 1,如

DataTable _test = new DataTable();
DataColumn c = new DataColumn("sno", typeof(int));
c.AutoIncrement = true;
c.AutoIncrementSeed = 1;
c.AutoIncrementStep = 1;
_test.Columns.Add(c);
_test.Columns.Add("description");
gvlisting.DataSource = _test;

答案 2 :(得分:3)

这更多是OP原始问题的附属答案。我有一个可怕的时间来弄清楚如何获得由R.Ilayaraja的答案创建的行的索引号(OP中的序列号)(其工作效果很好)。

在代码隐藏页面中,如果要获取行的索引号,可以使用与此类似的代码:
Int32 idNumber = Convert.ToInt32(gvlisting.Rows[i].DataItemIndex.ToString()) + 1;

这假设您使用迭代器'i'从行中获取其他值,并且您需要在数字中添加一个,因为索引是序数(索引0是第一行)。如果您没有使用迭代器,只需使用.Rows[0]

我作为一个ASP.NET小块大力争取解决这个问题,所以我想我会发布这个,希望它能帮助像我这样的其他菜鸟。

答案 3 :(得分:2)

添加名为Ser的列,并将其设置为ReadOnly=false

然后将此代码添加到您的应用程序中:

if (GridSearch.Rows.Count > 1)
{
    for (int i = 0; i < GridSearch.Rows.Count-1; i++)
    {
        GridSearch.Rows[i].Cells[0].Value = (i + 1).ToString();
    }

}

答案 4 :(得分:2)

只需在gridview

中添加此代码即可
  <asp:TemplateField HeaderText="Serial No of Users">
                <ItemTemplate>
                    <%# ((GridViewRow)Container).RowIndex + 1%>
                </ItemTemplate>
                 <FooterTemplate>
                    <asp:Label ID="lbltotalall" runat="server" />
                </FooterTemplate>
            </asp:TemplateField>

答案 5 :(得分:1)

<asp:TemplateField HeaderText="SR No">
                <ItemTemplate>
                    <%# Container.DataItemIndex + 1 %>
                </ItemTemplate>
                <ItemStyle Width="5%" />
</asp:TemplateField>

答案 6 :(得分:0)

使用行索引绑定字段或行数据绑定您可以添加一个模板列,您可以在该列上使用该行的索引。