DataBound에서 숨길 수 있습니다. 데이터 소스의 RowCount가 호출기의 PageSize보다 작거나 같은 경우 Listview 이벤트가 발생합니다. 예를 들어 (의사 코드, yourDataSource 변경) :
Private Sub ListView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DataBound
Dim dataPager As DataPager = DirectCast(ListView1.FindControl("DataPager1"), DataPager)
dataPager.Visible = yourDataSource.Rows.Count > dataPager.PageSize
End Sub
편집을 : 당신은 ObjectDataSource를 사용하는 경우는 데이터 소스 (C#)를 액세스하기 위해 Selected Event을 잡을 수 :
protected void ObjectDataSource1_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
// Get total count from the ObjectDataSource
DataTable dt = e.ReturnValue as DataTable;
int totalRecordCount = dt.Rows.Count;
}
VB를 :
를
Private Sub ObjectDataSource1_Selected(ByVal sender As Object, ByVal e As ObjectDataSourceStatusEventArgs) Handles ObjectDataSource1.Selected
' Get total count from the ObjectDataSource
Dim dt As DataTable = DirectCast(e.ReturnValue, DataTable)
Dim totalRecordCount As Int32 = dt.Rows.Count
End Sub
위의 코드를 사용하여 호출기의 표시 여부를 전환 할 수 있습니다.
빠른 답장을 보내 주셔서 감사합니다.하지만 문제가 하나 있습니다. 내 데이터 소스는 행이없는 ObjectDataSource입니다. 그것을 피하려면 어떻게해야합니까? – eugeneK
나는 나의 대답을 편집했다. 이 기능이 작동합니까 (테스트되지 않은)? –
그것은 일하기로되어 있지만 정보를 얻는 데 너무 많은 리소스를 사용하기 때문에 간단히 확인하지 않을 것입니다. 각 페이지 액세스시 생성 될 Datatable을 생성합니다. 너무 무거워서 일해야합니다. 적절한 ListView 및 DataSource 이벤트를 가리켜 주셔서 감사합니다. – eugeneK