asp.Net下Repeater AspNetPagerページングコントロールの使用
8733 ワード
一、AspNetPagerページングコントロールページングはWebアプリケーションで最もよく使われる機能の一つであり、ASP.NETでは、ページング可能なDataGrid(asp.net 1.1)とGridView(asp.net 2.0)コントロールが付属しているが、カスタマイズ性が悪く、Urlでページング機能が実現できないなど、ページング機能が不十分である.また、DataListとRepeater、さらにはカスタムデータバインドコントロールをページングする必要がある場合もある.したがって、ページングは多くのASPとなっている.NETプログラマーが最も頭を悩ませる問題の一つです.
AspNetPagerはASP.NETページングコントロールの不足は、独特の解決aspを提案した.Netにおけるページング問題の解決策は、ページングナビゲーション機能とデータ表示機能とが完全に独立し、ユーザ自身がデータの取得及び表示方式を制御するため、GridView、DataList及びRepeaterなどのデータバインドコントロールのページング、カスタムのページングデータの提示、ピクチャブラウズプログラムの作成など、ページングナビゲーション機能を実現する必要がある場所に柔軟に適用することができる.AspNetPagerコントロールとデータは独立しているため、ページングするデータは、SQL Server、Oracle、Access、mysql、DB 2などのデータベース、XMLファイル、メモリデータ、キャッシュ内のデータ、ファイルシステムなど、任意のデータソースから使用できます.
二、基本属性:AlwaysShow:
デフォルトでは、ページングするデータが1ページしかない場合、AspNetPagerのデフォルトでは、ページに表示されるコンテンツを表示せずに自動的に危険が発生します.この属性値をtrueに設定すると、合計ページ数が1ページのみであっても、AspNetPagerにはページングナビゲーション要素が表示されます.
FirstPageText:
最初のページボタンに表示されるテキストを取得または設定します.
LastPageText:
最後のページボタンに表示されるテキストを取得または設定します.
NextPageText:
次のページボタンに表示されるテキストを取得または設定します.
PrevPageText:
前のページのボタンに表示されるテキストを取得または設定します.
PageSize:
ページごとに表示されるアイテムの数を取得または設定します.(この値は、データプレゼンテーションコントロールがデータテーブルに表示するデータのアイテム数を取得または設定します.AspNetPagerは、この値とRecordCountに基づいて、すべてのデータを表示するために必要なページ数、すなわちPageCountの値を計算します.)
CssClass:
コントロールに適用されるcssクラス名
CurrentPageButtonClass:
AspNetPagerページングコントロールの現在のページナビゲーションボタンのカスケードスタイルシート(CSS)クラスを取得または設定します.
PageIndexBoxType:
または、ユーザーが手動で入力できるテキストボックスと選択できるドロップダウンボックスの表示タイプを設定します.
ShowBoxThreshold:
ShowPageIndexBoxがAuto(デフォルト)に設定され、ページングするデータの合計ページ数がこの値に達すると、ページインデックス入力テキストボックスが自動的に表示されます.デフォルトは30です.このオプションは、ShowPageIndexBoxがNeverまたはAlwaysに設定されている場合には機能しません.
三、スタイル:
=====網易スタイル=====
.anpager .cpb {background:#1F3A87 none repeat scroll 0 0;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;}
.anpager a {background:#FFFFFF none repeat scroll 0 0;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px 0 0;padding:4px 5px 0;text-decoration:none}
.anpager a:hover{background:#1F3A87 none repeat scroll 0 0;border:1px solid #1F3A87;color:#FFFFFF;}
属性設定:CssClass="anpager"CurrentPageButtonClass="cpb"
=====拍拍网风格=====
.paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;}
.paginator a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px}
.paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
.paginator .cpb {padding: 1px 6px;font-weight: bold; font-size: 13px;border:none}
.paginator a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}
属性設定:CssClass="paginator"CurrentPageButtonClass="cpb"
=====迅雷スタイル====
.pages { color: #999; }
.pages a, .pages .cpb { text-decoration:none;float: left; padding: 0 5px; border: 1px solid #ddd;background: #ffff;margin:0 2px; font-size:11px; color:#000;}
.pages a:hover { background-color: #E61636; color:#fff;border:1px solid #E61636; text-decoration:none;}
.pages .cpb { font-weight: bold; color: #fff; background: #E61636; border:1px solid #E61636;}
属性設定:CssClass="pages"CurrentPageButtonClass="cpb"
四、どのように呼び出すか:index.aspxファイル
AspNetPagerはASP.NETページングコントロールの不足は、独特の解決aspを提案した.Netにおけるページング問題の解決策は、ページングナビゲーション機能とデータ表示機能とが完全に独立し、ユーザ自身がデータの取得及び表示方式を制御するため、GridView、DataList及びRepeaterなどのデータバインドコントロールのページング、カスタムのページングデータの提示、ピクチャブラウズプログラムの作成など、ページングナビゲーション機能を実現する必要がある場所に柔軟に適用することができる.AspNetPagerコントロールとデータは独立しているため、ページングするデータは、SQL Server、Oracle、Access、mysql、DB 2などのデータベース、XMLファイル、メモリデータ、キャッシュ内のデータ、ファイルシステムなど、任意のデータソースから使用できます.
二、基本属性:AlwaysShow:
デフォルトでは、ページングするデータが1ページしかない場合、AspNetPagerのデフォルトでは、ページに表示されるコンテンツを表示せずに自動的に危険が発生します.この属性値をtrueに設定すると、合計ページ数が1ページのみであっても、AspNetPagerにはページングナビゲーション要素が表示されます.
FirstPageText:
最初のページボタンに表示されるテキストを取得または設定します.
LastPageText:
最後のページボタンに表示されるテキストを取得または設定します.
NextPageText:
次のページボタンに表示されるテキストを取得または設定します.
PrevPageText:
前のページのボタンに表示されるテキストを取得または設定します.
PageSize:
ページごとに表示されるアイテムの数を取得または設定します.(この値は、データプレゼンテーションコントロールがデータテーブルに表示するデータのアイテム数を取得または設定します.AspNetPagerは、この値とRecordCountに基づいて、すべてのデータを表示するために必要なページ数、すなわちPageCountの値を計算します.)
CssClass:
コントロールに適用されるcssクラス名
CurrentPageButtonClass:
AspNetPagerページングコントロールの現在のページナビゲーションボタンのカスケードスタイルシート(CSS)クラスを取得または設定します.
PageIndexBoxType:
または、ユーザーが手動で入力できるテキストボックスと選択できるドロップダウンボックスの表示タイプを設定します.
ShowBoxThreshold:
ShowPageIndexBoxがAuto(デフォルト)に設定され、ページングするデータの合計ページ数がこの値に達すると、ページインデックス入力テキストボックスが自動的に表示されます.デフォルトは30です.このオプションは、ShowPageIndexBoxがNeverまたはAlwaysに設定されている場合には機能しません.
三、スタイル:
=====網易スタイル=====
.anpager .cpb {background:#1F3A87 none repeat scroll 0 0;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;}
.anpager a {background:#FFFFFF none repeat scroll 0 0;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px 0 0;padding:4px 5px 0;text-decoration:none}
.anpager a:hover{background:#1F3A87 none repeat scroll 0 0;border:1px solid #1F3A87;color:#FFFFFF;}
属性設定:CssClass="anpager"CurrentPageButtonClass="cpb"
=====拍拍网风格=====
.paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;}
.paginator a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px}
.paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
.paginator .cpb {padding: 1px 6px;font-weight: bold; font-size: 13px;border:none}
.paginator a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}
属性設定:CssClass="paginator"CurrentPageButtonClass="cpb"
=====迅雷スタイル====
.pages { color: #999; }
.pages a, .pages .cpb { text-decoration:none;float: left; padding: 0 5px; border: 1px solid #ddd;background: #ffff;margin:0 2px; font-size:11px; color:#000;}
.pages a:hover { background-color: #E61636; color:#fff;border:1px solid #E61636; text-decoration:none;}
.pages .cpb { font-weight: bold; color: #fff; background: #E61636; border:1px solid #E61636;}
属性設定:CssClass="pages"CurrentPageButtonClass="cpb"
四、どのように呼び出すか:index.aspxファイル
<br/><link href="inc/css.css" rel="stylesheet" type="text/css"/>
<br/><style type="text/css">
<br>/* */
<br>.anpager .cpb {background:#1F3A87 none repeat scroll 0 0;border:1px solid #CCCCCC;color:#FFFFFF;font-weight:bold;margin:5px 4px 0 0;padding:4px 5px 0;}
<br>.anpager a {background:#FFFFFF none repeat scroll 0 0;border:1px solid #CCCCCC;color:#1F3A87;margin:5px 4px 0 0;padding:4px 5px 0;text-decoration:none}
<br>.anpager a:hover{background:#1F3A87 none repeat scroll 0 0;border:1px solid #1F3A87;color:#FFFFFF;}
<br>/* */
<br>.paginator { font: 11px Arial, Helvetica, sans-serif;padding:10px 20px 10px 0; margin: 0px;}
<br>.paginator a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px}
<br>.paginator a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
<br>.paginator .cpb {padding: 1px 6px;font-weight: bold; font-size: 13px;border:none}
<br>.paginator a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}
<br>/* */
<br>.pages { color: #999 }
<br>.pages a, .pages .cpb { text-decoration:none;float: left; padding: 0 5px; border: 1px solid #ddd;background: #ffff;margin:0 2px; font-size:11px; color:#000;}
<br>.pages a:hover { background-color: #E61636; color:#fff;border:1px solid #E61636; text-decoration:none;}
<br>.pages .cpb { font-weight: bold; color: #fff; background: #E61636; border:1px solid #E61636;}
<br>.code{font-weight:bold;color:blue}
<br></style>
<br/>
<br/>
<br/><form id="form1" runat="server">
<br/><hand id="hand1" runat="server"/>
<br/><div style="text-align:left; line-height:20px">
<br/><repeater id="SoftDown" runat="server">
<br/><itemtemplate>
<br/><div style="border-bottom:1px solid #000000"> <br/><br/></div>
<br/></itemtemplate>
<br/></repeater>
<br/><div style="text-align:right; padding-top:10px">
<br/><aspnetpager id="AspNetPager1" runat="server" pagesize="5" cssclass="anpager" onpagechanged="AspNetPager1_PageChanged">FirstPageText=" " LastPageText=" " NextPageText=" " PrevPageText=" "
<br/>ShowMoreButtons="False" ShowPageIndexBox="Never">
<br/></aspnetpager></div>
<br/></div>
<br/></form>
<br/>
<br/>
<br/>
</code></pre>
<br/>index.aspx.cs
<br/>
<pre><code>
<br/>using System;
<br/>using System.Collections;
<br/>using System.Configuration;
<br/>using System.Data;
<br/>using System.Linq;
<br/>using System.Web;
<br/>using System.Web.Security;
<br/>using System.Web.UI;
<br/>using System.Web.UI.HtmlControls;
<br/>using System.Web.UI.WebControls;
<br/>using System.Web.UI.WebControls.WebParts;
<br/>using System.Xml.Linq;
<br/>using System.Data.SqlClient;
<br/>using GHSqlConn;
<br/>using Wuqi.Webdiyer;
<br/>public partial class Default2 : System.Web.UI.Page
<br/>{
<br/>protected void Page_Load(object sender, EventArgs e)
<br/>{
<br/>if (!IsPostBack) {
<br/>SqlConnection conn = DB.getConnection();
<br/>conn.Open();
<br/>SqlCommand Count = new SqlCommand();
<br/>Count.Connection = conn;
<br/>Count.CommandText = "select count(*) from T_SoftDown1";
<br/>AspNetPager1.RecordCount = (int)Count.ExecuteScalar();
<br/>//Response.Write(AspNetPager1.RecordCount);
<br/>conn.Close();
<br/>BindData();
<br/>}
<br/>}
<br/>public void BindData()
<br/>{
<br/>SqlConnection conn = DB.getConnection();
<br/>string sql = "select * from T_SoftDown1 order by E_id desc";// :select top
<br/>SqlDataAdapter da = new SqlDataAdapter(sql, conn);
<br/>DataSet ds = new DataSet();
<br/>da.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "temptbl");
<br/>DataTable dt = ds.Tables["temptbl"];
<br/>SoftDown.DataSource=dt;
<br/>SoftDown.DataBind();
<br/>}
<br/>protected void AspNetPager1_PageChanged(object src, EventArgs e)
<br/>{
<br/>//AspNetPager1.CurrentPageIndex = e.NewPageIndex;
<br/>BindData();
<br/>}
<br/>}
<br/>
</code></pre>
<div class="clearfix">
<span id="art_bot" class="jbTestPos"/>
</div>
</div>
</div>
</div>