2012-04-06 4 views
1

ListView에서 호출기로 호출기를 사용하고 있습니다. 그러나 테이블에서 행을 찾을 수 없을 때 문제가 발생합니다. 이 경우 호출기는 페이지를 표시합니다. 그래서, 제 질문은 어떻게 페이저를 숨길 수 있는지입니다. ListView가 메시지를 표시 할 때 no row found.asp.net에서 호출기를 숨기는 방법

미리 감사드립니다.

답변

3

당신은 그것을 숨기기 위해 DataBound 이벤트를 사용할 수 있습니다 당신은 VB를 사용하는 가정 .NET

Protected Sub jobSearchResult_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) 
    Dim pager = DirectCast(jobSearchResult.FindControl("jobSearchPager"), DataPager) 
    pager.Visible = pager.TotalRowCount > pager.MaximumRows 
End Sub 

호출기가 n 일 경우 ListView의 LayoutTemplate (f.e. ListView에) 외부에서 직접 FindControl를 사용하지 않고 참조 할 수 있습니다 :

jobSearchPager.Visible = jobSearchPager.TotalRowCount > jobSearchPager.MaximumRows 
+0

내가 오류가 .. 같은 시도되었지만'보호 하위 jobSearchResult_DataBound (ByVal 보낸 사람 개체, ByVal 전자 System.EventArgs) DataPager 호출기 = (DataPager) jobSearchResult.FindControl ("jobSearchPager") pager.Visible = (pager.PageSize

+0

그래서 오류가 발생합니까? –

+0

'DataPager '는 타입이고 표현식으로 사용할 수없고'Name'Pager '는 선언되지 않았고'Comma', ')'이거나 유효 표현식 연속이 예상됩니다. '및 기타 5 ... –

0

데이터 바인딩 방법에서 항목 출하 횟수를 확인할 수 있습니다. 0 인 경우 호출기의 가시성을 false로 설정하십시오.

0

결과에 대한 귀하의 검색 데이터를 확인하고 만약 빈 전화 :

protected void jobSearchResult_DataBound(Object sender, EventArgs e) 
{ 
    DataPager pager = (DataPager)jobSearchResult.FindControl("jobSearchPager"); 
    pager.Visible = pager.TotalRowCount > pager.MaximumRows; 
} 

편집을 :

DataPager.Visible = false;