使用标记的GridView行号(仅限)

时间:2012-08-17 09:33:06

标签: c# asp.net .net gridview

我需要在网格视图中显示行号。使用BoundField或TemplateField显示行号的最佳方法是什么?

注意:这需要仅使用标记(没有代码隐藏)。

注意:当排序发生时,行号不应该按顺序排列,第一行应该包含其内容。

我已经提到了以下内容:

  1. http://social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/thread/2eead3e3-5cc2-40f7-a91c-8f7942d5329c/

3 个答案:

答案 0 :(得分:9)

<asp:TemplateField HeaderText="#" >
     <ItemTemplate>
     <%# Container.DataItemIndex + 1 %>
     </ItemTemplate>
</asp:TemplateField>

顺便提一句,这篇解决方案在你提到的文章中提出。为什么你不喜欢它并问这里?

答案 1 :(得分:4)

执行此操作的最佳位置是使用templatefield

<asp:TemplateField HeaderText="Row Number">
  <ItemTemplate>
    <%# Container.DataItemIndex + 1 %>
  </ItemTemplate>
</asp:TemplateField>

示例http://www.devcurry.com/2010/01/add-row-number-to-gridview.html

BoundField将指定的DataSource字段的值显示为文本。 TemplateField允许混合html或使用Web控件。

请参阅以下说明以确认差异。 http://forums.asp.net/t/1804988.aspx/1

答案 2 :(得分:0)

gridview呈现为html表。如果您不想计算后面代码中的行号,则应使用JQuery。

var rowCount = $('#myTable tr').length;

你应该用rowCount值填充表格页脚。