バージョン:ASP.NET 3.5
ASP.NETの「DataPager」で ページのサイズを選んで変更できるようにする方法。
変更は、ListView の上に、ドロップダウンリストを配置して、表示件数を選ぶことが
できるようにする。
ドロップダウンリストは、AutoPostBack を true に設定し、
OnTextChangedイベントで、DataPagerのページサイズを変更する。
—————————————————————————–
ContactsDataPager.SetPageProperties(startRowIndex,maximumRows ,databind );
startRowIndex :表示される最初のレコードのインデックス。
maximumRows :1 つのデータ ページに表示する項目の最大数。
databind :プロパティの設定後にコントロールをバインドするかどうか。
—————————————————————————–
●Default.aspx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | < 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
1 2 3 4 5 | public void on_page_size(Object sender, EventArgs e) { int value = int .Parse(((DropDownList)sender).SelectedValue); ContactsDataPager.SetPageProperties(0, value, true ); } |