jazygift Ответов: 2

Как указать серийные номера на страницах просмотра списка ?


The serial numbers should be correct in the consecutive pages.


Что я уже пробовал:

Я попытался предоставить серийный номер непосредственно из базы данных, используя вычисления смещения. Я также попытался предоставить "контейнер".ItemIndex + 1'. Может ли кто-нибудь предложить лучшее решение?

Mike V Baker

Этот вопрос не дает мне ни малейшего представления о том, что вы пытаетесь сделать. В разделе "Что я пробовал" вам нужно указать код, который вы используете, что вы ожидаете от него и что он на самом деле делает.

2 Ответов

Рейтинг:
20

Richard Deeming

Предполагая, что вы используете элемент управления ListView[^], вам нужно будет использовать Container.DataItemIndex вместо Container.ItemIndex.

Элементы listviewitem.Свойство DataItemIndex (System.Web.UI.WebControls) | Microsoft Docs[^]

<ItemTemplate>
    <%#: Container.DataItemIndex + 1 %>
    ...


jazygift

Я попробовал это сделать, и все равно следующий номер индекса страницы начинается с 1.

Richard Deeming

Как вы привязываете данные к ListView?

jazygift

pagininfo.Offset = (pagininfo.CurrentPage - 1) * pagininfo.PageCount;
pagininfo.SortColumn = hiddenSort.Value;
DataTable dt = производительность.Способность(pagininfo);

Richard Deeming

Значит, ListView на самом деле ничего не знает о том, на какой странице он находится?

Храните индекс первой записи на странице в общедоступном свойстве, поддерживаемом ViewState. Обновление смещения при привязке элемента управления ListView. Добавьте значение этого свойства в отображаемый индекс.

public int FirstRecordIndex
{
    get { return (int?)ViewState["FirstRecordIndex"] ?? 0; }
    set { ViewState["FirstRecordIndex"] = value; }
}

<ItemTemplate>
    <%# FirstRecordIndex + Container.DataItemIndex + 1 %>
   ...

jazygift

Это сработало !!!
Большое спасибо.