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

DataGrid コントロールの 1 ページに表示される項目数。既定値は、10 です。


このプロパティを使用して、DataGrid コントロールの 1 ページに表示される項目数を指定します。このプロパティを有効にするには、AllowPaging プロパティを true に設定する必要があります。

PageSize プロパティを使用して、DataGrid コントロールの 1 つのページに 5 つの項目が表示されるように指定する方法を次のコード例に示します。
<%@ 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>
<%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script runat="server"> Function CreateDataSource() As ICollection ' Create sample data for the DataGrid control. Dim dt As DataTable = New DataTable() Dim dr As DataRow ' Define the columns of the table. dt.Columns.Add(new DataColumn("IntegerValue", GetType(Int32))) dt.Columns.Add(new DataColumn("StringValue", GetType(String))) dt.Columns.Add(new DataColumn("CurrencyValue", GetType(Double))) ' Populate the table with sample values. Dim i As Integer For i=0 To 100 dr = dt.NewRow() dr(0) = i dr(1) = "Item " & i.ToString() dr(2) = 1.23 * (i + 1) dt.Rows.Add(dr) Next i Dim dv As DataView = New DataView(dt) Return dv End Function Sub Page_Load(sender As Object, e As EventArgs) ' Load sample data only once, when the page is first loaded. If Not IsPostBack Then ItemsGrid.DataSource = CreateDataSource() ItemsGrid.DataBind() End If End Sub Sub Selection_Change(sender As Object, e As EventArgs) ' Set the page size for the DataGrid control based on the ' user's selection. ItemsGrid.PageSize = Convert.ToInt32(PageSizeList.SelectedItem.Text) ' Rebind the data to refresh the DataGrid control. ItemsGrid.DataSource = CreateDataSource() ItemsGrid.DataBind() End Sub Sub Grid_Change(sender As Object, e As DataGridPageChangedEventArgs) ' For the DataGrid control to navigate to the correct page when ' paging is allowed, the CurrentPageIndex property must be ' updated programmatically. This process is usually accomplished ' in the event-handling method for the PageIndexChanged event. ' Set CurrentPageIndex to the page the user clicked. ItemsGrid.CurrentPageIndex = e.NewPageIndex ' Rebind the data to refresh the DataGrid control. ItemsGrid.DataSource = CreateDataSource() ItemsGrid.DataBind() End Sub </script> <body> <form runat=server> <h3>DataGrid PageSize Example</h3> Select the number of items to display on a page. <br><br> <b>Product List</b> <asp:DataGrid id="ItemsGrid" BorderColor="black" BorderWidth="1" CellPadding="3" AutoGenerateColumns="False" PageSize="10" AllowPaging="True" OnPageIndexChanged="Grid_Change" runat="server"> <HeaderStyle BackColor="#00aaaa"> </HeaderStyle> <Columns> <asp:BoundColumn DataField="IntegerValue" SortExpression="IntegerValue" HeaderText="Item"/> <asp:BoundColumn DataField="StringValue" SortExpression="StringValue" HeaderText="Description"/> <asp:BoundColumn DataField="CurrencyValue" HeaderText="Price" SortExpression="CurrencyValue" DataFormatString="{0:c}"> <ItemStyle HorizontalAlign="Right"> </ItemStyle> </asp:BoundColumn> </Columns> </asp:DataGrid> <hr> <table cellpadding="5"> <tr> <td> <asp:Label id="Message" Text="Page size:" runat="server"/> </td> </tr> <tr> <td> <asp:DropDownList id="PageSizeList" AutoPostBack="True" OnSelectedIndexChanged="Selection_Change" runat="server"> <asp:ListItem> 5 </asp:ListItem> <asp:ListItem Selected="True"> 10 </asp:ListItem> <asp:ListItem> 15 </asp:ListItem> <asp:ListItem> 20 </asp:ListItem> </asp:DropDownList> </td> </tr> </table> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script runat="server"> ICollection CreateDataSource() { // Create sample data for the DataGrid control. DataTable dt = new DataTable(); DataRow dr; // Define the columns of the table. dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(String))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(Double))); // Populate the table with sample values. for (int i=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); } DataView dv = new DataView(dt); return dv; } void Page_Load(Object sender, EventArgs e) { // Load sample data only once, when the page is first loaded. if (!IsPostBack) { ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); } } void Selection_Change(Object sender, EventArgs e) { // Set the page size for the DataGrid control based on the // user's selection. ItemsGrid.PageSize = Convert.ToInt32(PageSizeList.SelectedItem.Text); // Rebind the data to refresh the DataGrid control. ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); } void Grid_Change(Object sender, DataGridPageChangedEventArgs e) { // For the DataGrid control to navigate to the correct page when // paging is allowed, the CurrentPageIndex property must be // updated programmatically. This process is usually accomplished // in the event-handling method for the PageIndexChanged event. // Set CurrentPageIndex to the page the user clicked. ItemsGrid.CurrentPageIndex = e.NewPageIndex; // Rebind the data to refresh the DataGrid control. ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); } </script> <body> <form runat=server> <h3>DataGrid PageSize Example</h3> Select the number of items to display on a page. <br><br> <b>Product List</b> <asp:DataGrid id="ItemsGrid" BorderColor="black" BorderWidth="1" CellPadding="3" AutoGenerateColumns="False" PageSize="10" AllowPaging="True" OnPageIndexChanged="Grid_Change" runat="server"> <HeaderStyle BackColor="#00aaaa"> </HeaderStyle> <Columns> <asp:BoundColumn DataField="IntegerValue" SortExpression="IntegerValue" HeaderText="Item"/> <asp:BoundColumn DataField="StringValue" SortExpression="StringValue" HeaderText="Description"/> <asp:BoundColumn DataField="CurrencyValue" HeaderText="Price" SortExpression="CurrencyValue" DataFormatString="{0:c}"> <ItemStyle HorizontalAlign="Right"> </ItemStyle> </asp:BoundColumn> </Columns> </asp:DataGrid> <hr> <table cellpadding="5"> <tr> <td> <asp:Label id="Message" Text="Page size:" runat="server"/> </td> </tr> <tr> <td> <asp:DropDownList id="PageSizeList" AutoPostBack="True" OnSelectedIndexChanged="Selection_Change" runat="server"> <asp:ListItem> 5 </asp:ListItem> <asp:ListItem Selected="True"> 10 </asp:ListItem> <asp:ListItem> 15 </asp:ListItem> <asp:ListItem> 20 </asp:ListItem> </asp:DropDownList> </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.PageSize プロパティを検索する場合は、下記のリンクをクリックしてください。

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