2010-04-14 2 views
2

목록 뷰에서 데이터 페이지 컨트롤을 사용하여 페이지 뷰를 수행하고 있습니다.DataPager를 사용하여 ListView에서 페이징을 취소 할 수 있습니다.

테이블을 페이징 할 때 몇 가지 유효성 검사를 수행해야합니다. 이러한 유효성 검사가 실패하면 페이징을 취소해야합니다.

현재 ListView의 PagePropertiesChanging 이벤트에서 유효성 검사를 수행하지만 인수는 Cancel 속성을 제공하지 않습니다.

protected void MyListView_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e) 
{ 
    if (!Validate()) 
    { // cancel the paging action} 
} 

페이징 취소가 가능하고 그것을 수행하는 방법을 아는 사람이 있습니까? 감사합니다.

답변

0

나도이 작업을 수행하는 간단한 방법이 없다는 사실에 실망했습니다. 나는 Littlefool과 매우 흡사하게 끝냈다. 여기서 나는 PagePropertiesChanging 이벤트를 사용했다. 내 유효성 검사가 통과되지 않으면 이전 StartRowIndex 값의 저장된 값으로 내 DataPager에서 SetPageProperties()을 호출했습니다.이 값은 ViewState에 저장되지 않습니다.

내 가장 자랑스러운 솔루션은 아니지만 작동합니다.

+0

예,이 "유일한"방법으로 보인다. 나는 TemplatePagerField를 사용하여 다음/이전을 구현하는 것으로 끝났다. 일단 그들이 숫자 페이징에 대해 불평하면, 나는 이렇게 할 것이다. – Ronald

0

간단히 수동으로 페이지를 게시 할 수 있습니까?

예 다음 페이지를 확인하고 시도하고 페이지를 확인하고 유효성을 확인한 다음 취소하십시오.

+0

예, 그렇지만 빌드 인 호출기 컨트롤로 가능했는지 궁금합니다. 나는 다음/이전 TemplatePagerField 및 해당 PagerCommand 사용하여 구현할 수 있지만 NumericPagerField 복제 할 수 없습니다. – Ronald