GridView.PagerTemplate Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Denetimdeki disk belleği satırı GridView için özel içeriği alır veya ayarlar.
public:
virtual property System::Web::UI::ITemplate ^ PagerTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.GridViewRow))]
public virtual System.Web.UI.ITemplate PagerTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.GridViewRow))>]
member this.PagerTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property PagerTemplate As ITemplate
Özellik Değeri
ITemplate Disk belleği satırı için özel içeriği içeren bir. Bu özelliğin ayarlanmadığını gösteren varsayılan değer null değeridir.
- Öznitelikler
Örnekler
Aşağıdaki örnekte, kullanıcının denetim kullanarak DropDownList bir denetimde gezinmesine olanak tanıyan özel bir GridView çağrı oluşturucu şablonunun nasıl oluşturulacağı gösterilmektedir.
<%@ 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">
protected void PageDropDownList_SelectedIndexChanged(Object sender, EventArgs e)
{
// Retrieve the pager row.
GridViewRow pagerRow = CustomersGridView.BottomPagerRow;
// Retrieve the PageDropDownList DropDownList from the bottom pager row.
DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList");
// Set the PageIndex property to display that page selected by the user.
CustomersGridView.PageIndex = pageList.SelectedIndex;
}
protected void CustomersGridView_DataBound(Object sender, EventArgs e)
{
// Retrieve the pager row.
GridViewRow pagerRow = CustomersGridView.BottomPagerRow;
// Retrieve the DropDownList and Label controls from the row.
DropDownList pageList = (DropDownList)pagerRow.Cells[0].FindControl("PageDropDownList");
Label pageLabel = (Label)pagerRow.Cells[0].FindControl("CurrentPageLabel");
if(pageList != null)
{
// Create the values for the DropDownList control based on
// the total number of pages required to display the data
// source.
for(int i=0; i<CustomersGridView.PageCount; i++)
{
// Create a ListItem object to represent a page.
int pageNumber = i + 1;
ListItem item = new ListItem(pageNumber.ToString());
// If the ListItem object matches the currently selected
// page, flag the ListItem object as being selected. Because
// the DropDownList control is recreated each time the pager
// row gets created, this will persist the selected item in
// the DropDownList control.
if(i==CustomersGridView.PageIndex)
{
item.Selected = true;
}
// Add the ListItem object to the Items collection of the
// DropDownList.
pageList.Items.Add(item);
}
}
if(pageLabel != null)
{
// Calculate the current page number.
int currentPage = CustomersGridView.PageIndex + 1;
// Update the Label control with the current page information.
pageLabel.Text = "Page " + currentPage.ToString() +
" of " + CustomersGridView.PageCount.ToString();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView PagerTemplate Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridView PagerTemplate Example</h3>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="true"
allowpaging="true"
ondatabound="CustomersGridView_DataBound"
runat="server">
<pagerstyle forecolor="Blue"
backcolor="LightBlue"/>
<pagertemplate>
<table width="100%">
<tr>
<td style="width:70%">
<asp:label id="MessageLabel"
forecolor="Blue"
text="Select a page:"
runat="server"/>
<asp:dropdownlist id="PageDropDownList"
autopostback="true"
onselectedindexchanged="PageDropDownList_SelectedIndexChanged"
runat="server"/>
</td>
<td style="width:70%; text-align:right">
<asp:label id="CurrentPageLabel"
forecolor="Blue"
runat="server"/>
</td>
</tr>
</table>
</pagertemplate>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server">
</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">
Protected Sub PageDropDownList_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
' Retrieve the pager row.
Dim pagerRow As GridViewRow = CustomersGridView.BottomPagerRow
' Retrieve the PageDropDownList DropDownList from the bottom pager row.
Dim pageList As DropDownList = CType(pagerRow.Cells(0).FindControl("PageDropDownList"), DropDownList)
' Set the PageIndex property to display that page selected by the user.
CustomersGridView.PageIndex = pageList.SelectedIndex
End Sub
Protected Sub CustomersGridView_DataBound(ByVal sender As Object, ByVal e As EventArgs)
' Retrieve the pager row.
Dim pagerRow As GridViewRow = CustomersGridView.BottomPagerRow
' Retrieve the DropDownList and Label controls from the row.
Dim pageList As DropDownList = CType(pagerRow.Cells(0).FindControl("PageDropDownList"), DropDownList)
Dim pageLabel As Label = CType(pagerRow.Cells(0).FindControl("CurrentPageLabel"), Label)
If Not pageList Is Nothing Then
' Create the values for the DropDownList control based on
' the total number of pages required to display the data
' source.
Dim i As Integer
For i = 0 To CustomersGridView.PageCount - 1
' Create a ListItem object to represent a page.
Dim pageNumber As Integer = i + 1
Dim item As ListItem = New ListItem(pageNumber.ToString())
' If the ListItem object matches the currently selected
' page, flag the ListItem object as being selected. Because
' the DropDownList control is recreated each time the pager
' row gets created, this will persist the selected item in
' the DropDownList control.
If i = CustomersGridView.PageIndex Then
item.Selected = True
End If
' Add the ListItem object to the Items collection of the
' DropDownList.
pageList.Items.Add(item)
Next i
End If
If Not pageLabel Is Nothing Then
' Calculate the current page number.
Dim currentPage As Integer = CustomersGridView.PageIndex + 1
' Update the Label control with the current page information.
pageLabel.Text = "Page " & currentPage.ToString() & _
" of " & CustomersGridView.PageCount.ToString()
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView PagerTemplate Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridView PagerTemplate Example</h3>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="true"
allowpaging="true"
ondatabound="CustomersGridView_DataBound"
runat="server">
<pagerstyle forecolor="Blue"
backcolor="LightBlue"/>
<pagertemplate>
<table width="100%">
<tr>
<td style="width:70%">
<asp:label id="MessageLabel"
forecolor="Blue"
text="Select a page:"
runat="server"/>
<asp:dropdownlist id="PageDropDownList"
autopostback="true"
onselectedindexchanged="PageDropDownList_SelectedIndexChanged"
runat="server"/>
</td>
<td style="width:70%; text-align:right">
<asp:label id="CurrentPageLabel"
forecolor="Blue"
runat="server"/>
</td>
</tr>
</table>
</pagertemplate>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Açıklamalar
Disk belleği özelliği etkinleştirildiğinde (özellik true olarak ayarlandığında) denetimde AllowPaging bir GridView disk belleği satırı görüntülenir. Disk belleği satırı, kullanıcının denetimdeki farklı sayfalara gitmesine izin veren denetimleri içerir. Yerleşik disk belleği satırı kullanıcı arabirimini (UI) kullanmak yerine özelliğini kullanarak PagerTemplate kendi kullanıcı arabiriminizi tanımlayabilirsiniz.
Not
PagerTemplate Özellik ayarlandığında, yerleşik çağrıyı gönderen satır kullanıcı arabirimini geçersiz kılar.
Disk belleği satırı için özel bir şablon belirtmek için, önce etiketleri denetimin açma ve kapatma etiketleri GridView arasına yerleştirin<PagerTemplate>
. Ardından, şablonun içeriğini açma ve kapatma <PagerTemplate>
etiketleri arasında listeleyebilirsiniz. Disk belleği satırının görünümünü denetlemek için özelliğini kullanın PagerStyle .
Genellikle, disk belleği işlemlerini gerçekleştirmek için sayfalama şablonuna düğme denetimleri eklenir. GridView Özelliği "Sayfa" olarak ayarlanmış bir düğme denetimine tıklandığında denetim CommandName
bir disk belleği işlemi gerçekleştirir. Düğmenin CommandArgument
özelliği, gerçekleştirilecek disk belleği işleminin türünü belirler. Aşağıdaki tabloda, denetim tarafından GridView desteklenen komut bağımsız değişkeni değerleri listelenmektedir.
CommandArgument Değer |
Description |
---|---|
"İleri" | Sonraki sayfaya gider. |
"Önceki" | Önceki sayfaya gider. |
"İlk" | İlk sayfaya gider. |
"Son" | Son sayfaya gider. |
Tamsayı değeri | Belirtilen sayfa numarasına gider. |