バージョン: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); }