Номер строки Автоматически генерировать для всех страниц непрерывно в виде сетки в Asp.net? - PullRequest
0 голосов
/ 26 октября 2018

Я хочу генерировать номер строки в gridview автоматически для всех страниц.Для EG: у меня есть 3 страницы по сетке из 150 записей. Каждая страница содержит 50 записей.

Я хочу отображать номер строки для всех записей в сетке от 1 до 150 непрерывно.

Вот мой код:

<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 %>' runat="server" />
        </ItemTemplate>
    </asp:TemplateField>
    <asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="150" />
    <asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="150" />
</Columns>
</asp:GridView>

Он отображает номер строки на каждой странице, начиная с 1 до 50.Я на самом деле хочу число от 1 до 150.Любой, пожалуйста, помогите мне, если у вас есть идеи. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Попробуйте это.

Text='<%# (GridView1.PageIndex * GridView1.PageSize) + Container.DisplayIndex + 1 %>'
0 голосов
/ 26 октября 2018

Я нашел немного хакерский способ легко создавать правильные номера строк с неиспользуемым свойством 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...