DataGrid.PageCount プロパティ
アセンブリ: System.Web (system.web.dll 内)


このプロパティを使用して、DataGrid コントロールの項目の表示に必要なページの合計数をプログラムにより取得します。このプロパティは、AllowPaging プロパティが true に設定されている場合にだけ適用されます。

PageCount プロパティを使用して、DataGrid コントロールの項目を表示するために必要なページの数を確認する方法を次のコード例に示します。
<%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <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> <body> <h3>DataGrid Paging Example</h3> <form 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-Name="Verdana" Font-Size="8pt"> <PagerStyle Mode="NumericPages" HorizontalAlign="Right"> </PagerStyle> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="#eeeeee"> </AlternatingItemStyle> </asp:DataGrid> <p> <asp:Checkbox id="chk1" runat="server" Text="Show numeric page navigation buttons" Font-Name="Verdana" Font-Size="8pt" AutoPostBack="true"/> <p> <table bgcolor="#eeeeee" cellpadding="6"> <tr> <td nowrap> <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="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <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> <body> <h3>DataGrid Paging Example</h3> <form 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-Name="Verdana" Font-Size="8pt"> <PagerStyle Mode="NumericPages" HorizontalAlign="Right"> </PagerStyle> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="#eeeeee"> </AlternatingItemStyle> </asp:DataGrid> <p> <asp:Checkbox id="chk1" runat="server" Text="Show numeric page navigation buttons" Font-Name="Verdana" Font-Size="8pt" AutoPostBack="true"/> <p> <table bgcolor="#eeeeee" cellpadding="6"> <tr> <td nowrap> <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="JScript" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script language="JScript" runat="server"> function CreateDataSource() : ICollection { var dt : DataTable = new DataTable(); var dr : DataRow; dt.Columns.Add(new DataColumn("IntegerValue", Int32)); dt.Columns.Add(new DataColumn("StringValue", System.String)); dt.Columns.Add(new DataColumn("CurrencyValue", double)); for (var i : int = 0; i < 100; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Item " + i.ToString(); dr[2] = 1.23 * (i+1); dt.Rows.Add(dr); } var dv : DataView = new DataView(dt); return dv; } function Page_Load(sender, e : EventArgs) { if (chk1.Checked) MyDataGrid.PagerStyle.Mode = PagerMode.NumericPages; else MyDataGrid.PagerStyle.Mode = PagerMode.NextPrev; BindGrid(); } function MyDataGrid_Page(sender, e : DataGridPageChangedEventArgs) { MyDataGrid.CurrentPageIndex = e.NewPageIndex; BindGrid(); } function BindGrid() { MyDataGrid.DataSource = CreateDataSource(); MyDataGrid.DataBind(); ShowStats(); } function 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> <body> <h3>DataGrid Paging Example</h3> <form 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-Name="Verdana" Font-Size="8pt"> <PagerStyle Mode="NumericPages" HorizontalAlign="Right"> </PagerStyle> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="#eeeeee"> </AlternatingItemStyle> </asp:DataGrid> <p> <asp:Checkbox id="chk1" runat="server" Text="Show numeric page navigation buttons" Font-Name="Verdana" Font-Size="8pt" AutoPostBack="true"/> <p> <table bgcolor="#eeeeee" cellpadding="6"> <tr> <td nowrap> <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>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDataGrid.PageCount プロパティを検索する場合は、下記のリンクをクリックしてください。

- DataGrid.PageCount プロパティのページへのリンク