DataGridPagerStyle.PageButtonCount 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定數值按鈕的數目,以在 DataGrid 控制項的頁面巡覽區項目中同時顯示。
public:
property int PageButtonCount { int get(); void set(int value); };
[System.ComponentModel.Bindable(true)]
public int PageButtonCount { get; set; }
public int PageButtonCount { get; set; }
[<System.ComponentModel.Bindable(true)>]
member this.PageButtonCount : int with get, set
member this.PageButtonCount : int with get, set
Public Property PageButtonCount As Integer
屬性值
要在 DataGrid 控制項的頁面巡覽區項目中,同時顯示的數值按鈕的數目。 預設值是 10
。
- 屬性
例外狀況
選取的值小於 1
。
範例
下列程式碼範例示範如何使用 PageButtonCount 屬性,在 控制項的 pager 元素中同時顯示五個 DataGrid 數值頁面按鈕。
<%@ 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)
{
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>Paging with DataGrid</title>
</head>
<body>
<h3>Paging with DataGrid</h3>
<form id="form1" 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-Names="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"/>
<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)
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>Paging with DataGrid</title>
</head>
<body>
<h3>Paging with DataGrid</h3>
<form id="form1" 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-Names="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"/>
<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>
備註
PageButtonCount使用 屬性可指定數值按鈕的數目,以在 控制項的 DataGrid 呼叫器元素中同時顯示。 屬性 Mode 必須設定 PagerMode.NumericPages
為 ,這個屬性才能有任何作用。
如果控制項中的 DataGrid 頁面比這個屬性中指定的還要多,則會在 pager 元素中顯示省略號按鈕 (...) 。 按一下時,這些按鈕會顯示下一組或先前的數值按鈕。