あまり役に立たないと言われていますが、これを理解しておくとdatagriやdatalistに役立つので、自分のキャリアについてメモしておきます。
----------コントロールリスト----------
パネル パネル1;
ボタン ボタン1;
ボタン ボタン2;
ラベル Label1;
ラベル ラベル 2;
ラベル ラベル 3;
ラベル ラベル 4;
ラベル ラベル 5;
リピータ リピータ 1
----------------------------------.cs ページ ---------- --------------------------------
private void Page_Load(オブジェクト送信者、System.EventArgs e)
{
if(!this.IsPostBack)
{
this.Label1.Text="1";
this.fill();
}
}
プライベート void fill()
{
int pag=Convert.ToInt32(this.Label1.Text);//現在のページを設定します
SqlConnection con=new SqlConnection("server=.;database=Northwind;uid=sa;pwd=980123;");//接続をインスタンス化します
SqlDataAdapter sda=new SqlDataAdapter();//データ アダプター オブジェクトを作成する
sda.SelectCommand=new SqlCommand("select * from Employees",con);//SelectCommand をインスタンス化し、それを使用してデータベースからすべてのデータを読み取ります
DataSet ds=new DataSet();//埋めるデータセットを定義
sda.Fill(ds,"name");//アダプターを使用してデータセットをローカルテーブル "name" に入力します
PagedDataSource ps=new PagedDataSource();//もともと DATAGRID にカプセル化されている PagedDataSource をインスタンス化します。
ps.DataSource=ds.Tables["name"].DefaultView;//データ ソースを ds.Tables["name"].DefaultView データ ビューに設定します
ps.AllowPaging=true;//ページングを許可する
ps.PageSize=3;//ページごとの表示数
ps.CurrentPageIndex=pag-1;//現在のページ番号。ページは 0 から始まるため、1 ずつ減らす必要があります。
this.Button1.Enabled=true;//ボタンの現在のステータス
this.Button2.Enabled=true;
this.Label5.Text=ps.PageCount.ToString();
if(ページ==1)
{
this.Button1.Enabled=false;//現在のページが 1 の場合、前のページ ボタンは使用できません
}
if(pag==ps.PageCount)
{
this.Button2.Enabled=false;//現在のページが最後のページの場合、「次のページ」ボタンは使用できません
}
this.Repeater1.DataSource=ps;
this.Repeater1.DataBind();
}
フォームコード
private void Button2_Click(オブジェクト送信者、System.EventArgs e)
{
this.Label1.Text=((Convert.ToInt32(this.Label1.Text))+1).ToString();
this.fill();
private
void Button1_Click(オブジェクト送信者, System.EventArgs e)
{
this.Label1.Text=((Convert.ToInt32(this.Label1.Text))-1).ToString();
this.fill();
}