별 쓸모가 없다고 하는데, 이것을 이해하면 데이터그리나 데이터리스트에 도움이 될 것 같아서 경력에 메모하겠습니다.
----------제어 목록---------
패널 Panel1;
버튼 버튼1;
버튼 버튼2;
라벨 라벨1;
라벨 라벨2;
라벨라벨3;
라벨라벨4;
라벨라벨5;
리피터 리피터1;
--------.cs 페이지 ---------- --------------------------------
개인 무효 Page_Load(개체 전송자, System.EventArgs e)
{
if(!this.IsPostBack)
{
this.Label1.Text="1";
this.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();
}
양식 코드
개인 무효 Button2_Click(개체 전송자, System.EventArgs e)
{
this.Label1.Text=((Convert.ToInt32(this.Label1.Text))+1).ToString();
this.fill();
}
개인 무효 Button1_Click(개체 전송자, System.EventArgs e)
{
this.Label1.Text=((Convert.ToInt32(this.Label1.Text))-1).ToString();
this.fill();
}