TemplatePagerField Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein DataPager-Feld dar, das Ihnen ermöglicht, ein benutzerdefiniertes Paging-UI zu erstellen.
public ref class TemplatePagerField : System::Web::UI::WebControls::DataPagerField
public class TemplatePagerField : System.Web.UI.WebControls.DataPagerField
type TemplatePagerField = class
inherit DataPagerField
Public Class TemplatePagerField
Inherits DataPagerField
- Vererbung
Beispiele
Das folgende Beispiel zeigt, wie ein TemplatePagerField Feld in einem DataPager Steuerelement hinzugefügt wird. In diesem Beispiel wird verwendet, TemplatePagerField um die aktuelle Seitenzahl, die Gesamtanzahl der Seiten und die Gesamtzahl der Datensätze anzuzeigen. Das DataPager Steuerelement enthält auch zwei NextPreviousPagerField Felder und ein NumericPagerField Feld zum Anzeigen von Navigationssteuerelementen, mit denen Benutzer Daten durchsuchen können.
<%@ 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>TemplatePagerField Example</title>
<style type="text/css">
body
{
text-align: center;
font: 12px Arial, Helvetica, sans-serif;
}
.item
{
border: solid 1px #458b74;
background: #e0ffff;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>TemplatePagerField Example</h3>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
runat="server">
<LayoutTemplate>
<table runat="server" id="tblContacts" width="350">
<tr id="itemPlaceholder" runat="server">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td class="item">
<asp:Label ID="IDLabel" runat="server" Text='<%#Eval("ContactID") %>' />
</td>
<td align="left" class="item">
<asp:Label ID="NameLabel" runat="server"
Text='<%#Eval("LastName") + ", " + Eval("FirstName")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br />
<asp:DataPager runat="server"
ID="ContactsDataPager"
PageSize="20"
PagedControlID="ContactsListView">
<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) %>" />
(
<asp:Label runat="server" ID="TotalItemsLabel"
Text="<%# Container.TotalRowCount%>" />
records)
<br />
</b>
</PagerTemplate>
</asp:TemplatePagerField>
<asp:NextPreviousPagerField
ButtonType="Button"
ShowFirstPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
<asp:NumericPagerField
PreviousPageText="< Prev 10"
NextPageText="Next 10 >"
ButtonCount="10" />
<asp:NextPreviousPagerField
ButtonType="Button"
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 [ContactID], [FirstName], [LastName]
FROM Person.Contact">
</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>TemplatePagerField Example</title>
<style type="text/css">
body
{
text-align: center;
font: 12px Arial, Helvetica, sans-serif;
}
.item
{
border: solid 1px #458b74;
background: #e0ffff;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>TemplatePagerField Example</h3>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
runat="server">
<LayoutTemplate>
<table runat="server" id="tblContacts" width="350">
<tr id="itemPlaceholder" runat="server">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td class="item">
<asp:Label ID="IDLabel" runat="server" Text='<%#Eval("ContactID") %>' />
</td>
<td align="left" class="item">
<asp:Label ID="NameLabel" runat="server"
Text='<%#Eval("LastName") & ", " & Eval("FirstName")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br />
<asp:DataPager runat="server"
ID="ContactsDataPager"
PageSize="20"
PagedControlID="ContactsListView">
<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) %>" />
(
<asp:Label runat="server" ID="TotalItemsLabel"
Text="<%# Container.TotalRowCount%>" />
records)
<br />
</b>
</PagerTemplate>
</asp:TemplatePagerField>
<asp:NextPreviousPagerField
ButtonType="Button"
ShowFirstPageButton="true"
ShowNextPageButton="false"
ShowPreviousPageButton="false" />
<asp:NumericPagerField
PreviousPageText="< Prev 10"
NextPageText="Next 10 >"
ButtonCount="10" />
<asp:NextPreviousPagerField
ButtonType="Button"
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 [ContactID], [FirstName], [LastName]
FROM Person.Contact">
</asp:SqlDataSource>
</form>
</body>
</html>
Das folgende Beispiel zeigt, wie Sie das PagerCommand Ereignis verwenden, um eine andere Aktion auszuführen, je nachdem, auf welche Schaltfläche in einem TemplatePagerField Feld geklickt wurde. In diesem Beispiel wird verwendet, TemplatePagerField um Navigationssteuerelemente anzuzeigen, mit denen Benutzer Daten ausblättern können.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
// <Snippet2>
protected void TemplatePagerField_OnPagerCommand(object sender, DataPagerCommandEventArgs e)
{
// Check which button raised the event
switch(e.CommandName)
{
case "Next":
int newIndex = e.Item.Pager.StartRowIndex + e.Item.Pager.PageSize;
if (newIndex <= e.TotalRowCount)
{
e.NewStartRowIndex = newIndex;
e.NewMaximumRows = e.Item.Pager.MaximumRows;
}
break;
case "Previous":
e.NewStartRowIndex = e.Item.Pager.StartRowIndex - e.Item.Pager.PageSize;
e.NewMaximumRows = e.Item.Pager.MaximumRows;
break;
case "First":
e.NewStartRowIndex = 0;
e.NewMaximumRows = e.Item.Pager.MaximumRows;
break;
}
}
// </Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>TemplatePagerField.OnPagerCommand Example</title>
<style type="text/css">
body
{
text-align: center;
font: 12px Arial, Helvetica, sans-serif;
}
.item
{
border: solid 1px #2F4F4F;
background: #E6E6FA;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>TemplatePagerField.OnPagerCommand Example</h3>
<asp:ListView ID="StoresListView"
DataSourceID="StoresDataSource"
runat="server">
<LayoutTemplate>
<table width="350" runat="server" id="tblStore">
<tr runat="server">
<th runat="server">ID</th>
<th runat="server">Store Name</th>
</tr>
<tr id="itemPlaceholder" runat="server">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td class="item">
<asp:Label ID="IDLabel" runat="server" Text='<%#Eval("CustomerID") %>' />
</td>
<td align="left" class="item">
<asp:Label ID="NameLabel" runat="server" Text='<%#Eval("Name")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br />
<asp:DataPager runat="server"
ID="ContactsDataPager"
PageSize="30"
PagedControlID="StoresListView">
<Fields>
<asp:TemplatePagerField OnPagerCommand="TemplatePagerField_OnPagerCommand">
<PagerTemplate>
<asp:LinkButton ID="FirstButton" runat="server" CommandName="First"
Text="<<" Enabled='<%# Container.StartRowIndex > 0 %>' />
<asp:LinkButton ID="PreviousButton" runat="server" CommandName="Previous"
Text='<%# (Container.StartRowIndex - Container.PageSize + 1) + " - " + (Container.StartRowIndex) %>'
Visible='<%# Container.StartRowIndex > 0 %>' />
<asp:Label ID="CurrentPageLabel" runat="server"
Text='<%# (Container.StartRowIndex + 1) + "-" + (Container.StartRowIndex + Container.PageSize > Container.TotalRowCount ? Container.TotalRowCount : Container.StartRowIndex + Container.PageSize) %>' />
<asp:LinkButton ID="NextButton" runat="server" CommandName="Next"
Text='<%# (Container.StartRowIndex + Container.PageSize + 1) + " - " + (Container.StartRowIndex + Container.PageSize*2 > Container.TotalRowCount ? Container.TotalRowCount : Container.StartRowIndex + Container.PageSize*2) %>'
Visible='<%# (Container.StartRowIndex + Container.PageSize) < Container.TotalRowCount %>' />
</PagerTemplate>
</asp:TemplatePagerField>
</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="StoresDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [CustomerID], [Name] FROM Sales.Store ORDER BY [Name]">
</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">
<script runat="server">
' <Snippet2>
Protected Sub TemplatePagerField_OnPagerCommand(ByVal sender As Object, _
ByVal e As DataPagerCommandEventArgs)
' Check which button raised the event
Select Case e.CommandName
Case "Next"
Dim newIndex As Integer = e.Item.Pager.StartRowIndex + e.Item.Pager.PageSize
If newIndex <= e.TotalRowCount Then
e.NewStartRowIndex = newIndex
e.NewMaximumRows = e.Item.Pager.MaximumRows
End If
Case "Previous"
e.NewStartRowIndex = e.Item.Pager.StartRowIndex - e.Item.Pager.PageSize
e.NewMaximumRows = e.Item.Pager.MaximumRows
Case "First"
e.NewStartRowIndex = 0
e.NewMaximumRows = e.Item.Pager.MaximumRows
End Select
End Sub
' </Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>TemplatePagerField.OnPagerCommand Example</title>
<style type="text/css">
body
{
text-align: center;
font: 12px Arial, Helvetica, sans-serif;
}
.item
{
border: solid 1px #2F4F4F;
background: #E6E6FA;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<h3>TemplatePagerField.OnPagerCommand Example</h3>
<asp:ListView ID="StoresListView"
DataSourceID="StoresDataSource"
runat="server">
<LayoutTemplate>
<table width="350" runat="server" id="tblStore">
<tr runat="server">
<th runat="server">ID</th>
<th runat="server">Store Name</th>
</tr>
<tr id="itemPlaceholder" runat="server">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td class="item">
<asp:Label ID="IDLabel" runat="server" Text='<%#Eval("CustomerID") %>' />
</td>
<td align="left" class="item">
<asp:Label ID="NameLabel" runat="server" Text='<%#Eval("Name")%>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br />
<asp:DataPager runat="server"
ID="ContactsDataPager"
PageSize="30"
PagedControlID="StoresListView">
<Fields>
<asp:TemplatePagerField OnPagerCommand="TemplatePagerField_OnPagerCommand">
<PagerTemplate>
<asp:LinkButton ID="FirstButton" runat="server" CommandName="First"
Text="<<" Enabled='<%# Container.StartRowIndex > 0 %>' />
<asp:LinkButton ID="PreviousButton" runat="server" CommandName="Previous"
Text='<%# (Container.StartRowIndex - Container.PageSize + 1) & " - " & (Container.StartRowIndex) %>'
Visible='<%# Container.StartRowIndex > 0 %>' />
<asp:Label ID="CurrentPageLabel" runat="server"
Text='<%# (Container.StartRowIndex + 1) & "-" & (IIf(Container.StartRowIndex + Container.PageSize > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize)) %>' />
<asp:LinkButton ID="NextButton" runat="server" CommandName="Next"
Text='<%# (Container.StartRowIndex + Container.PageSize + 1) & " - " & (IIf(Container.StartRowIndex + Container.PageSize*2 > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize*2)) %>'
Visible='<%# (Container.StartRowIndex + Container.PageSize) < Container.TotalRowCount %>' />
</PagerTemplate>
</asp:TemplatePagerField>
</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="StoresDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [CustomerID], [Name] FROM Sales.Store ORDER BY [Name]">
</asp:SqlDataSource>
</form>
</body>
</html>
Hinweise
Verwenden Sie das TemplatePagerField -Objekt, um Navigationssteuerelemente anzuzeigen, mit denen Benutzer Daten durchsuchen können, die von einem Steuerelement angezeigt werden, das die IPageableItemContainer Schnittstelle implementiert. (Ein Beispiel ist das ListView Steuerelement.) Sie können das TemplatePagerField -Objekt auch verwenden, um Informationen zur zugrunde liegenden Datenquelle anzuzeigen, z. B. die Gesamtanzahl der Datensätze und die aktuelle Seitenzahl.
Das TemplatePagerField Feld verfügt über kein integriertes Layout. Daher müssen Sie das Layout explizit in der PagerTemplate Vorlage erstellen. Sie können den Inhalt mithilfe von CSS-Klassen (Cascading Stylesheets) oder Inlineformatelementen formatieren.
Sie können mithilfe der DataPager -Eigenschaft auf das Steuerelement verweisen, das das TemplatePagerFieldContainer
-Objekt enthält. Dies ist nützlich, wenn Sie Bindungsausdrücke erstellen möchten, um anzuzeigen, wie viele Datensätze abgerufen wurden, wie viele Seiten insgesamt und ähnliche Informationen abgerufen wurden. Diese Bindungsausdrücke können Eigenschaften des DataPager -Steuerelements wie MaximumRows, , StartRowIndexPageSizeund TotalRowCountverwenden.
Das TemplatePagerField Feld stellt das Ereignis bereit, das in der PagerCommand Regel zum Ausführen einer Aufgabe verwendet wird, wenn auf eine Schaltfläche in der PagerTemplate Vorlage geklickt wird.
Konstruktoren
TemplatePagerField() |
Initialisiert eine neue Instanz der TemplatePagerField-Klasse. |
Eigenschaften
DataPager |
Ruft einen Verweis auf den Datenpager ab, dem das DataPagerField-Objekt zugeordnet ist. (Geerbt von DataPagerField) |
IsTrackingViewState |
Ruft einen Wert ab, der angibt, ob das DataPagerField-Objekt Änderungen seines Ansichtszustands verfolgt. (Geerbt von DataPagerField) |
PagerTemplate |
Ruft den benutzerdefinierten Inhalt des Pagerfelds in einem DataPager-Steuerelement ab oder legt diesen fest. |
QueryStringHandled |
Ruft Wert ab, der angibt, ob das Abfragezeichenfolgenfeld ausgewertet wurde, oder legt diesen fest. (Geerbt von DataPagerField) |
QueryStringValue |
Ruft den Wert des Abfragezeichenfolgenfelds aus der URL der Anforderung ab. (Geerbt von DataPagerField) |
ViewState |
Ruft ein Wörterbuch mit Zustandsinformationen ab, mit dem Sie den Ansichtszustand eines DataPagerField-Objekts über mehrere Anforderungen für dieselbe Seite hinweg speichern und wiederherstellen können. (Geerbt von DataPagerField) |
Visible |
Ruft einen Wert ab, der angibt, ob ein Datenpagerfeld gerendert werden soll, oder legt diesen fest. (Geerbt von DataPagerField) |
Methoden
CloneField() |
Erstellt eine Kopie des aktuellen Objekts, das von DataPagerField abgeleitet ist. (Geerbt von DataPagerField) |
CopyProperties(DataPagerField) |
Kopiert die Eigenschaften des aktuellen TemplatePagerField-Objekts in das angegebene DataPagerField-Objekt. |
CreateDataPagers(DataPagerFieldItem, Int32, Int32, Int32, Int32) |
Erstellt die UI-Steuerelemente (User Interface, Benutzeroberfläche) für das Pagerfeldobjekt und fügt diese dem angegebenen Container hinzu. |
CreateField() |
Erstellt und gibt eine neue Instanz der TemplatePagerField-Klasse zurück. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetQueryStringNavigateUrl(Int32) |
Erstellt eine URL, die ein Abfragezeichenfolgenfeld mit der angegebenen Seitenzahl enthält. (Geerbt von DataPagerField) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
HandleEvent(CommandEventArgs) |
Behandelt Ereignisse, die im TemplatePagerField-Objekt auftreten, und führt die entsprechende Aktion aus. |
LoadViewState(Object) |
Stellt zuvor gespeicherte Ansichtszustandsinformationen wieder her. (Geerbt von DataPagerField) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnFieldChanged() |
Löst das |
OnPagerCommand(DataPagerCommandEventArgs) |
Löst das PagerCommand-Ereignis aus. |
SaveViewState() |
Speichert die Änderungen, die am Ansichtszustand des DataPagerField-Objekts vorgenommen wurden. (Geerbt von DataPagerField) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
TrackViewState() |
Bewirkt, dass das DataPagerField-Objekt Änderungen an seinem Ansichtszustand nachverfolgt, damit diese in der ViewState-Eigenschaft des Steuerelements gespeichert und über mehrere Anforderungen für dieselbe Seite hinweg beibehalten werden. (Geerbt von DataPagerField) |
Ereignisse
PagerCommand |
Tritt ein, wenn in einem TemplatePagerField-Objekt auf eine Schaltfläche geklickt wird. |
Explizite Schnittstellenimplementierungen
IStateManager.IsTrackingViewState |
Ruft einen Wert ab, der angibt, ob das DataPagerField-Objekt Änderungen seines Ansichtszustands verfolgt. (Geerbt von DataPagerField) |
IStateManager.LoadViewState(Object) |
Stellt zuvor gespeicherte Ansichtszustandsinformationen wieder her. (Geerbt von DataPagerField) |
IStateManager.SaveViewState() |
Speichert die Änderungen, die am Ansichtszustand des DataPagerField-Objekts vorgenommen wurden. (Geerbt von DataPagerField) |
IStateManager.TrackViewState() |
Bewirkt, dass das DataPagerField-Objekt Änderungen an seinem Ansichtszustand nachverfolgt, damit diese in der ViewState-Eigenschaft des Steuerelements gespeichert und über mehrere Anforderungen für dieselbe Seite hinweg beibehalten werden. (Geerbt von DataPagerField) |