Nano Hash - криптовалюты, майнинг, программирование

Container.DisplayIndex не работает с разбиением на страницы в ASP.NET

У меня есть gridview, связанный с данными из кода. Пейджинг применяется в gridview. Все нормально работает. Для отображения Row-Index я использую Container.DisplayIndex.

Когда я перехожу на следующую страницу через разбиение по страницам, каждый раз, когда gridview связывается идеально, но DisplayIndex начинается с 1 для размера страницы. Я не знаю, что не так с кодом.

Вот код Asp.NET:

<asp:GridView runat="server" ID="dlAddress" AutoGenerateColumns="false"  AllowPaging="True" OnPageIndexChanging="dlAddress_PageIndexChanging" >
<Columns>
        <asp:TemplateField>
                <ItemTemplate>
                        <asp:Label ID="lblRowNumber" Text='<%# Container.DisplayIndex + 1 %>' runat="server" />
                </ItemTemplate>
        </asp:TemplateField>
</Columns>
<PagerStyle HorizontalAlign="Center"/>
</asp:GridView>

Код C #:

public void bindGridView()
{
        DBACon.Open();
        SqlCommand Cmd = new SqlCommand("getAddresses", DBACon);
        Cmd.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter AHadp = new SqlDataAdapter(Cmd);
        AHadp.Fill(DS);
        dlAddress.DataSource = DS;
        dlAddress.DataBind();
}

protected void dlAddress_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
       dlAddress.PageIndex = e.NewPageIndex;
       bindGridView();
}

  • Я ответил на аналогичный вопрос для DataGrid. Взгляните и посмотрите, поможет ли это. Думаю, вам просто нужно изменить именование индекса. Нумерация последовательностей 02.10.2015
  • В основном вам нужно учитывать размер страницы и текущий индекс в вашей привязке. 02.10.2015
  • когда я нахожусь на 1-й странице, он показывает от 1 до 10, после этого от 11 до 20 и так далее, но в настоящее время на каждой странице отображается от 1 до 10 02.10.2015
  • Похоже, он делает то, что вы хотите, поэтому я не понимаю, что вы имеете в виду под ... но в настоящее время на каждой странице отображается от 1 до 10 .... Проблема, которую я вижу, заключается в том, что вы используете только текущий индекс в своей текущей привязке, тогда как вы также должны использовать размер страницы, как показано в моем ответе. Вы смотрели ссылку, которую я разместил? 02.10.2015
  • на каждой странице отображается от 1 до 10, что не очень хорошо. Я хочу показать от 1 до 10, от 11 до 20, от 21 до 30 и так далее. 02.10.2015
  • Хорошо, я понимаю это. Вы смотрели ссылку, которую я вам отправил? 02.10.2015
  • да, но CurrentPageIndex не работает с gridview 02.10.2015
  • В GridView это называется _2 _... CurrentPageIndex для DataGrid, вам просто нужно выполнить сопоставление, но идея та же. 02.10.2015
  • Я считаю, что выражение для вашего ярлыка должно выглядеть так: <%# (dlAddress.PageSize * dlAddress.PageIndex) + Container.DisplayIndex + 1%>. 02.10.2015
  • Пожалуйста, попробуйте и дайте мне знать. Я не могу попробовать это самостоятельно, потому что мой SQL-сервер сейчас не работает. 02.10.2015

Ответы:


1

Здесь,

ASPX:

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="5" AutoGenerateColumns="False" DataKeyNames="AddressID" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:TemplateField HeaderText="RowNumber">
                <ItemTemplate>
                    <%# (GridView1.PageSize * GridView1.PageIndex) + Container.DisplayIndex + 1%>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

введите описание изображения здесь

02.10.2015
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..