Поделиться через


DataPagerField Класс

Определение

Служит базовым классом для типов полей страничного навигатора данных, который представляет элемент управления навигацией для элемента управления DataPager.

public ref class DataPagerField abstract : System::Web::UI::IStateManager
public abstract class DataPagerField : System.Web.UI.IStateManager
type DataPagerField = class
    interface IStateManager
Public MustInherit Class DataPagerField
Implements IStateManager
Наследование
DataPagerField
Производный
Реализации

Примеры

В следующем примере показано, как использовать NextPreviousPagerFieldобъекты , NumericPagerFieldи TemplatePagerField для отображения элементов управления навигацией по страницам в элементе DataPager управления . Объекты являются производными от DataPagerField класса .

<%@ Page language="C#" %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>DataPagerField Example</title>    
    <style type="text/css">
      body  
      {
        text-align: center; 
        font: 13px Tahoma, Arial, Helvetica;
      }
      .item
      {
        border-bottom: solid 1px #FFA500;
        font-weight:bold;
      }
    </style>
  </head>
  <body>
    <form id="form1" runat="server">
        
      <h3>DataPagerField Example</h3>
          
      <asp:ListView ID="ProductsListView" 
        DataSourceID="ContactsDataSource"
        runat="server">
        <LayoutTemplate>
          <table runat="server" id="tblProducts" width="350">
            <tr runat="server" id="itemPlaceholder" />
          </table>
        </LayoutTemplate>
        <ItemTemplate>
          <tr runat="server">
            <td class="item">
              <asp:Label ID="NameLabel" runat="server" 
                Text='<%#Eval("Name") %>' />
            </td>
          </tr>
          <tr runat="server">
            <td>
              <asp:Label ID="DescriptionLabel" runat="server" 
                Text='<%#Eval("Description")%>' />
            </td>
          </tr>
        </ItemTemplate>
        <ItemSeparatorTemplate>
          <tr runat="server">
            <td> </td>
          </tr>
        </ItemSeparatorTemplate>
      </asp:ListView>
      <br />

      <asp:DataPager runat="server" 
        ID="ProductsDataPager" 
        PageSize="5"
        PagedControlID="ProductsListView">
        <Fields>
          <asp:TemplatePagerField>
            <PagerTemplate>
            <b>
            Page
            <asp:Label runat="server" ID="CurrentPageLabel" 
              Text="<%# Container.TotalRowCount>0 ? (Container.StartRowIndex / Container.PageSize) + 1 : 0 %>" />
            of
            <asp:Label runat="server" ID="TotalPagesLabel" 
              Text="<%# Math.Ceiling ((double)Container.TotalRowCount / Container.PageSize) %>" />
            </b>
            <br /><br />
            </PagerTemplate>
          </asp:TemplatePagerField>
          
          <asp:NextPreviousPagerField
            ShowFirstPageButton="true"
            ShowNextPageButton="false"
            ShowPreviousPageButton="false" />
          
          <asp:NumericPagerField 
            PreviousPageText="<<"
            NextPageText=">>"
            ButtonCount="10" />
            
          <asp:NextPreviousPagerField
            ShowLastPageButton="true"
            ShowNextPageButton="false"
            ShowPreviousPageButton="false" />
        </Fields>
      </asp:DataPager>

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->
      <asp:SqlDataSource ID="ContactsDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT P.Name, PD.Description 
                      FROM Production.ProductModel AS PM 
                      INNER JOIN Production.Product AS P ON PM.ProductModelID = P.ProductModelID 
                      INNER JOIN Production.ProductModelProductDescriptionCulture AS PMPDC 
                      ON PM.ProductModelID = PMPDC.ProductModelID 
                      INNER JOIN Production.ProductDescription AS PD 
                      ON PMPDC.ProductDescriptionID = PD.ProductDescriptionID 
                      WHERE (PMPDC.CultureID = 'en')">
      </asp:SqlDataSource>
      
    </form>
  </body>
</html>
<%@ Page language="VB" %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>DataPagerField Example</title>    
    <style type="text/css">
      body  
      {
        text-align: center; 
        font: 13px Tahoma, Arial, Helvetica;
      }
      .item
      {
        border-bottom: solid 1px #FFA500;
        font-weight:bold;
      }
    </style>
  </head>
  <body>
    <form id="form1" runat="server">
        
      <h3>DataPagerField Example</h3>
          
      <asp:ListView ID="ProductsListView" 
        DataSourceID="ContactsDataSource"
        runat="server">
        <LayoutTemplate>
          <table runat="server" id="tblProducts" width="350">
            <tr runat="server" id="itemPlaceholder" />
          </table>
        </LayoutTemplate>
        <ItemTemplate>
          <tr runat="server">
            <td class="item">
              <asp:Label ID="NameLabel" runat="server" 
                Text='<%#Eval("Name") %>' />
            </td>
          </tr>
          <tr runat="server">
            <td>
              <asp:Label ID="DescriptionLabel" runat="server" 
                Text='<%#Eval("Description")%>' />
            </td>
          </tr>
        </ItemTemplate>
        <ItemSeparatorTemplate>
          <tr runat="server">
            <td> </td>
          </tr>
        </ItemSeparatorTemplate>
      </asp:ListView>
      <br />

      <asp:DataPager runat="server" 
        ID="ProductsDataPager" 
        PageSize="5"
        PagedControlID="ProductsListView">
        <Fields>
          <asp:TemplatePagerField>
            <PagerTemplate>
            <b>
            Page
            <asp:Label runat="server" ID="CurrentPageLabel" 
              Text="<%# IIf(Container.TotalRowCount>0, (Container.StartRowIndex / Container.PageSize) + 1, 0) %>" />
            of
            <asp:Label runat="server" ID="TotalPagesLabel" 
              Text="<%# Math.Ceiling (System.Convert.ToDouble(Container.TotalRowCount) / Container.PageSize) %>" />
            </b>
            <br /><br />            
            </PagerTemplate>
          </asp:TemplatePagerField>
          
          <asp:NextPreviousPagerField
            ShowFirstPageButton="true"
            ShowNextPageButton="false"
            ShowPreviousPageButton="false" />
          
          <asp:NumericPagerField 
            PreviousPageText="<<"
            NextPageText=">>"
            ButtonCount="10" />
            
          <asp:NextPreviousPagerField
            ShowLastPageButton="true"
            ShowNextPageButton="false"
            ShowPreviousPageButton="false" />
        </Fields>
      </asp:DataPager>

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->
      <asp:SqlDataSource ID="ContactsDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT P.Name, PD.Description 
                      FROM Production.ProductModel AS PM 
                      INNER JOIN Production.Product AS P ON PM.ProductModelID = P.ProductModelID 
                      INNER JOIN Production.ProductModelProductDescriptionCulture AS PMPDC 
                      ON PM.ProductModelID = PMPDC.ProductModelID 
                      INNER JOIN Production.ProductDescription AS PD 
                      ON PMPDC.ProductDescriptionID = PD.ProductDescriptionID 
                      WHERE (PMPDC.CultureID = 'en')">
      </asp:SqlDataSource>
      
    </form>
  </body>
</html>

Комментарии

Класс DataPagerField служит базовым классом для всех типов полей пейджера данных. Поля страничного навиджа данных используются элементом DataPager управления для представления элемента управления навигацией.

Используйте классы, производные от DataPagerField , чтобы выбрать тип пейджера, который отображается в элементе DataPager управления . В следующей таблице перечислены доступные типы полей пейджера данных.

Тип поля пейджера Описание
NextPreviousPagerField Позволяет пользователям перемещаться по страницам данных по одной странице за раз или переходить к первой или последней странице.
NumericPagerField Позволяет пользователям выбирать страницу по номеру страницы.
TemplatePagerField Позволяет разработчикам страниц создавать настраиваемый пользовательский интерфейс подкачки.

Вы можете наследовать от класса , DataPagerField чтобы создать дополнительные типы полей пейджера.

Примечания для тех, кто реализует этот метод

При наследовании DataPagerField от класса необходимо переопределить следующие члены:

Конструкторы

DataPagerField()

Инициализирует новый экземпляр класса DataPagerField.

Свойства

DataPager

Возвращает ссылку на страничный навигатор, с которым он связан объект DataPagerField.

IsTrackingViewState

Получает значение, позволяющее определить, отслеживает ли объект DataPagerField изменения в своем состоянии представления.

QueryStringHandled

Возвращает или задает значение, позволяющее определить, было ли оценено поле строки запроса.

QueryStringValue

Получает значение поля строки запроса, извлеченное из его URL-адреса.

ViewState

Возвращает словарь сведений о состоянии, позволяющий сохранять и восстанавливать состояние объекта DataPagerField для нескольких запросов одной и той же страницы.

Visible

Возвращает или задает значение, указывающее, преобразовывается ли поле страничного навигатора по данным для просмотра.

Методы

CloneField()

Создает копию текущего объекта, производного от объекта DataPagerField.

CopyProperties(DataPagerField)

Копирует свойства текущего объекта, производного от объекта DataPagerField в заданный объект DataPagerField.

CreateDataPagers(DataPagerFieldItem, Int32, Int32, Int32, Int32)

При переопределении в производном классе создает элемент управления пользовательского интерфейса для объекта поля страничного навигатора по данным и добавляет его в указанный контейнер.

CreateField()

При переопределении в производном классе создает пустой объект, производный от объекта DataPagerField.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetQueryStringNavigateUrl(Int32)

Создает URL-адрес, содержащий поле строки запроса, для которого задан номер страницы.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
HandleEvent(CommandEventArgs)

При переопределении в производном классе обрабатывает события, происходящие в объекте поля страничного навигатора по данным.

LoadViewState(Object)

Восстанавливает сохраненные ранее сведения о состоянии представления.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnFieldChanged()

Вызывает событие FieldChanged.

SaveViewState()

Сохраняет изменения, внесенные в состояние представления объекта DataPagerField.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TrackViewState()

Инициирует отслеживание объектом DataPagerField изменений в состоянии его представления с целью сохранения их в свойстве элемента управления ViewState и обеспечения их неизменности в различных запросах одной и той же страницы.

Явные реализации интерфейса

IStateManager.IsTrackingViewState

Получает значение, позволяющее определить, отслеживает ли объект DataPagerField изменения в своем состоянии представления.

IStateManager.LoadViewState(Object)

Восстанавливает сохраненные ранее сведения о состоянии представления.

IStateManager.SaveViewState()

Сохраняет изменения, внесенные в состояние представления объекта DataPagerField.

IStateManager.TrackViewState()

Инициирует отслеживание объектом DataPagerField изменений в состоянии его представления с целью сохранения их в свойстве элемента управления ViewState и обеспечения их неизменности в различных запросах одной и той же страницы.

Применяется к

См. также раздел