Я нашел немного хакерский способ легко создавать правильные номера строк с неиспользуемым свойством PageSize
. Если вы установите это по-правильному, тогда номера строк будут правильными, и это ни на что не повлияет, поскольку AllowPaging
имеет значение false.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Row Number" ItemStyle-Width="100">
<ItemTemplate>
<asp:Label ID="lblRowNumber" Text='<%# (Container.DataItemIndex + 1) + (GridView1.PageSize * 50) %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Обратите внимание, что перед привязкой данных необходимо установить значение PageSize.
GridView1.DataSource = source;
GridView1.PageSize = 2;
GridView1.DataBind();