DataGridPagerStyle.PageButtonCount プロパティ
DataGrid コントロールのページャ要素に同時に表示する番号付きボタンの番号を取得または設定します。
Public Property PageButtonCount As Integer
[C#]
public int PageButtonCount {get; set;}
[C++]
public: __property int get_PageButtonCount();public: __property void set_PageButtonCount(int);
[JScript]
public function get PageButtonCount() : int;public function set PageButtonCount(int);
プロパティ値
DataGrid コントロールのページャ要素に同時に表示する番号付きボタンの番号。既定値は 10 です。
解説
PageButtonCount プロパティを使用して、 DataGrid コントロールのページャ要素に同時に表示する番号付きボタンの番号を指定します。このプロパティを有効にするには、 Mode プロパティを PagerMode.NumericPages に設定する必要があります。
このプロパティで指定したページ数を超えるページが DataGrid コントロールにある場合は、省略記号ボタン (...) がページャ要素に表示されます。これらのボタンをクリックすると、番号付きボタンの前後のセットのどちらかが表示されます。
使用例
[Visual Basic, C#] PageButtonCount プロパティを使用して、 DataGrid コントロールのページャ要素に、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)
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>Paging with DataGrid</h3>
<form runat=server>
<asp:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
PagerStyle-PageButtonCount="5"
PagerStyle-HorizontalAlign="Right"
OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"/>
<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>
[C#]
<%@ 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)
{
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>Paging with DataGrid</h3>
<form runat=server>
<asp:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="10"
PagerStyle-Mode="NumericPages"
PagerStyle-PageButtonCount="5"
PagerStyle-HorizontalAlign="Right"
OnPageIndexChanged="MyDataGrid_Page"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"/>
<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>
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ
参照
DataGridPagerStyle クラス | DataGridPagerStyle メンバ | System.Web.UI.WebControls 名前空間 | DataGrid | Mode