2012-05-08 5 views
-1

리피터 컨트롤을 사용하고 있습니다. 나는 최대 약 300 레코드를 가질 수 있습니다.더 많은 버튼이있는 리피터

페이징을 사용하지 않으려합니다. 의 레코드와 함께 버튼을 리피터 하단에 표시 할 수 있습니다.

그런 사용법을 보여주는 샘플이 있습니까?

+1

는 사실, 당신은 사용자 정의 호출기 만 _more_ 버튼으로 구성이 차이, 페이지 매김을 사용하고자 할 수 있습니다. –

+0

@CasparKleijne이 옳습니다. 귀하의 질문을 편집 (승인 atm 기다리고) 보여줍니다. 당신은 페이지 매기기를 원하지만 보통 (1, 2, 3 ...)이 아니라 더 많이 (웹 서비스에 가면 어디에서 더 많은 컨텐츠를로드하고 리턴하여 응답에 추가 할 수 있습니까?) –

답변

0

주석 기 당신이 페이징

당신은 리피터에 대한 데이터 소스로 PagedDataSource을 사용해야합니다

을 필요로 할 말처럼. 이 link은 어떻게 표시됩니다. 중계기는 '기본 제공'페이징 컨트롤을 제공하지 않기 때문에 원하는 페이징 컨트롤을 코드화 할 수 있습니다. 링크에서 데이터 바인딩은

pagedDataSource page = new PagedDataSource(); 
      page.AllowCustomPaging = true; 
      page.AllowPaging = true; 
      page.DataSource = query; 
      page.PageSize = 10; 
      Repeater1.DataSource = page; 
      Repeater1.DataBind(); 

페이징 같은 것을 그냥 당신에게 아이디어를 제공하기 위입니다 의사를 기록하고 시작하기 바랍니다 뭔가 LINQ

protected btnMoreClick(object sender, EventArgs e) 
{ 
    //.. get the source 
    var dataSource = GetDataSource() 

    //.. page it - i.e. use link 
    dataSource.Skip(currentPage * pageSize).Take(pageSize) 

    //.. now bind the source again 
    //.. your code 

} 

될 수있을 것이다.

는 또한

은 내가 귀하의 경우 관련있을 거라고 생각 efficient paging에 대한 이전의 대답을 기록했다.

희망이

+0

Can 클라이언트 쪽에서 처리합니다. 사실 더 버튼을 클릭하면 레코드를 추가하고 싶습니다. – Nilish

+0

그 때 간단해야합니다. 더 많은 버튼을 클릭하면 저장 버튼이있는 사용자 정의 양식이 표시됩니다. 사용자가 양식을 작성하고 저장 버튼을 누릅니다. 저장 이벤트 (서버 측)는 레코드를 저장합니다. 데이터베이스를 다시 쿼리하거나 수동으로 새 레코드를 repeater의 데이터 소스에 삽입 한 다음 업데이트 된 소스를 사용하여 repeater를 리 바인드합니다. 유일한 문제는 클라이언트 측에서 작업하는 경우 그리드 페이징에서 자신의 위치를 ​​잃을 수 있다는 것입니다. 어떤 도움 ?? –

+0

내 페이지에만 리피터가 있습니다. 레코드가 50 개 이상 나오면 50 개 레코드 아래쪽에 Move 버튼을 표시해야합니다. 사용자는 더 많은 것을 누릅니다. 그와 같이 ... – Nilish