DataGrid.PageCount Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá celkový počet stránek potřebných k zobrazení položek v ovládacím DataGrid prvku.
public:
property int PageCount { int get(); };
[System.ComponentModel.Browsable(false)]
public int PageCount { get; }
[<System.ComponentModel.Browsable(false)>]
member this.PageCount : int
Public ReadOnly Property PageCount As Integer
Hodnota vlastnosti
Celkový počet stránek potřebných k zobrazení položek v ovládacím DataGrid prvku
- Atributy
Příklady
Následující příklad kódu ukazuje, jak použít PageCount vlastnost k určení počtu stránek potřebných k zobrazení položek v ovládacím DataGrid prvku.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!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" >
<script language="C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("DateTimeValue", typeof(string)));
dt.Columns.Add(new DataColumn("BoolValue", typeof(bool)));
for (int i = 0; i < 100; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = DateTime.Now.ToShortDateString();
dr[3] = (i % 2 != 0) ? true : false;
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
if (chk1.Checked)
MyDataGrid.PagerStyle.Mode = PagerMode.NumericPages;
else
MyDataGrid.PagerStyle.Mode = PagerMode.NextPrev;
BindGrid();
}
void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e)
{
MyDataGrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
void BindGrid()
{
MyDataGrid.DataSource = CreateDataSource();
MyDataGrid.DataBind();
ShowStats();
}
void ShowStats()
{
lblEnabled.Text = "AllowPaging is " + MyDataGrid.AllowPaging;
lblCurrentIndex.Text = "CurrentPageIndex is " + MyDataGrid.CurrentPageIndex;
lblPageCount.Text = "PageCount is " + MyDataGrid.PageCount;
lblPageSize.Text = "PageSize is " + MyDataGrid.PageSize;
}
</script>
<head runat="server">
<title>DataGrid Paging Example</title>
</head>
<body>
<h3>DataGrid Paging Example</h3>
<form id="form1" runat="server">
<asp:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="10"
OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Names="Verdana"
Font-Size="8pt">
<PagerStyle Mode="NumericPages"
HorizontalAlign="Right">
</PagerStyle>
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="#eeeeee">
</AlternatingItemStyle>
</asp:DataGrid>
<br />
<asp:Checkbox id="chk1" runat="server"
Text="Show numeric page navigation buttons"
Font-Names="Verdana"
Font-Size="8pt"
AutoPostBack="true"/>
<br />
<table style="background-color:#eeeeee; padding:6">
<tr>
<td style="display:inline">
<asp:Label id="lblEnabled"
runat="server"/><br />
<asp:Label id="lblCurrentIndex"
runat="server"/><br />
<asp:Label id="lblPageCount"
runat="server"/><br />
<asp:Label id="lblPageSize"
runat="server"/><br />
</td>
</tr>
</table>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!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" >
<script language="VB" runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("DateTimeValue", GetType(String)))
dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))
Dim i As Integer
For i = 0 To 99
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " & i.ToString()
dr(2) = DateTime.Now.ToShortDateString()
If i Mod 2 <> 0 Then
dr(3) = True
Else
dr(3) = False
End If
dt.Rows.Add(dr)
Next i
Dim dv As New DataView(dt)
Return dv
End Function 'CreateDataSource
Sub Page_Load(sender As Object, e As EventArgs)
If chk1.Checked Then
MyDataGrid.PagerStyle.Mode = PagerMode.NumericPages
Else
MyDataGrid.PagerStyle.Mode = PagerMode.NextPrev
End If
BindGrid()
End Sub 'Page_Load
Sub MyDataGrid_Page(sender As Object, e As DataGridPageChangedEventArgs)
MyDataGrid.CurrentPageIndex = e.NewPageIndex
BindGrid()
End Sub 'MyDataGrid_Page
Sub BindGrid()
MyDataGrid.DataSource = CreateDataSource()
MyDataGrid.DataBind()
ShowStats()
End Sub 'BindGrid
Sub ShowStats()
lblEnabled.Text = "AllowPaging is " & MyDataGrid.AllowPaging
lblCurrentIndex.Text = "CurrentPageIndex is " & MyDataGrid.CurrentPageIndex
lblPageCount.Text = "PageCount is " & MyDataGrid.PageCount
lblPageSize.Text = "PageSize is " & MyDataGrid.PageSize
End Sub 'ShowStats
</script>
<head runat="server">
<title>DataGrid Paging Example</title>
</head>
<body>
<h3>DataGrid Paging Example</h3>
<form id="form1" runat="server">
<asp:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="10"
OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Names="Verdana"
Font-Size="8pt">
<PagerStyle Mode="NumericPages"
HorizontalAlign="Right">
</PagerStyle>
<HeaderStyle BackColor="#aaaadd">
</HeaderStyle>
<AlternatingItemStyle BackColor="#eeeeee">
</AlternatingItemStyle>
</asp:DataGrid>
<br />
<asp:Checkbox id="chk1" runat="server"
Text="Show numeric page navigation buttons"
Font-Names="Verdana"
Font-Size="8pt"
AutoPostBack="true"/>
<br />
<table style="background-color:#eeeeee; padding:6">
<tr>
<td style="display:inline">
<asp:Label id="lblEnabled"
runat="server"/><br />
<asp:Label id="lblCurrentIndex"
runat="server"/><br />
<asp:Label id="lblPageCount"
runat="server"/><br />
<asp:Label id="lblPageSize"
runat="server"/><br />
</td>
</tr>
</table>
</form>
</body>
</html>
Poznámky
Pomocí této vlastnosti můžete programově určit počet stránek potřebných k zobrazení položek v ovládacím DataGrid prvku. Tato vlastnost se používá pouze v případě, že AllowPaging je vlastnost nastavena na true
.