我需要在网格视图中显示行号。使用BoundField或TemplateField显示行号的最佳方法是什么?
注意:这需要仅使用标记(没有代码隐藏)。
注意:当排序发生时,行号不应该按顺序排列,第一行应该包含其内容。
我已经提到了以下内容:
答案 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值填充表格页脚。