我有一个网格视图。它有两个绑定列。我需要将序列号列作为第一列。
我该怎么做? 在此先感谢
答案 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)
使用行索引绑定字段或行数据绑定您可以添加一个模板列,您可以在该列上使用该行的索引。