【ASP.NET(C#)】DataPager(データページャー)ページサイズ変更方法

2019年7月29日

バージョン:ASP.NET 3.5
ASP.NETの「DataPager」で ページのサイズを選んで変更できるようにする方法。
変更は、ListView の上に、ドロップダウンリストを配置して、表示件数を選ぶことが
できるようにする。
ドロップダウンリストは、AutoPostBack を true に設定し、
OnTextChangedイベントで、DataPagerのページサイズを変更する。
—————————————————————————–
ContactsDataPager.SetPageProperties(startRowIndex,maximumRows ,databind );
startRowIndex :表示される最初のレコードのインデックス。
maximumRows :1 つのデータ ページに表示する項目の最大数。
databind :プロパティの設定後にコントロールをバインドするかどうか。
—————————————————————————–
●Default.aspx

<asp:DropDownListID="page_size"runat="server"OnTextChanged="on_page_size"AutoPostBack="true">
	<asp:ListItemValue="10″>10件</asp:ListItem>
	<asp:ListItemValue="20″>20件</asp:ListItem>
	<asp:ListItemValue="30″>30件</asp:ListItem>
	<asp:ListItemValue="40″>40件</asp:ListItem>
</asp:DropDownList>
<asp:ListViewID="ListView1" runat="server"
	OnItemDataBound="ItemDataBound" DataSourceID="ObjectDataSource">
	<LayoutTemplate>
		<asp:DataPager ID="ContactsDataPager"runat="server"PageSize="5″>
			<Fields>
				<asp:NextPreviousPagerField 
					ShowFirstPageButton="True"
					ShowLastPageButton="False"
					ShowNextPageButton="False"
					ShowPreviousPageButton="True"
					RenderDisabledButtonsAsLabels="true" 
					ButtonCssClass=""/>
				<asp:NumericPagerField ButtonCount="5″/>
				<asp:NextPreviousPagerField 
					ShowFirstPageButton="False" 
					ShowLastPageButton="True"
					ShowNextPageButton="True"ShowPreviousPageButton="False"
					RenderDisabledButtonsAsLabels="true"
					ButtonCssClass=""/>
			</Fields>
		</asp:DataPager>
		<table>
			<asp:PlaceHolderID="groupPlaceholder"runat="server"/>
		</table>
	</LayoutTemplate>
	<GroupTemplate>
		<tr>
		<asp:PlaceHolderrunat="server"ID="itemPlaceholder"/>
		</tr>
	</GroupTemplate>
	<ItemTemplate>
		<td>
		ここに何か表示する
		</td>
	</ItemTemplate>
</asp:ListView>

●Default.aspx.cs

public void on_page_size(Object sender, EventArgs e)
{
	int value = int.Parse(((DropDownList)sender).SelectedValue);
	ContactsDataPager.SetPageProperties(0, value,true);
}

スポンサーリンク