2012-04-06 11 views
1

私はListViewでページングにページャを使用していますが、テーブルから行が見つからない場合は問題があります。その場合、ページャーはページングも表示します。だから、私の質問は、どうやってページャを隠すことができるかということです。 ListViewがメッセージno row foundを表示するとき。asp.netのページャを非表示にするには

ありがとうございました!

答えて

3

あなたはそれを隠すためにDataBoundイベントを使用することができます。

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

編集:あなたは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.リストビュー)の外に、あなたは直接FindControlを使用せずに、それを参照することができます。

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

私はエラーを取得..同じしようとしていたが、 '保護されたサブjobSearchResult_DataBound( ByVal送信者としてオブジェクト、ByVal e As System.EventArgs) DataPagerページャ=(DataPager)jobSearchResult.FindControl( "jobSearchPager") pager.Visible =(pager.PageSize

+0

これでエラーはどうなりますか? –

+0

'DataPager 'は型であり、式として使用することはできません.'Pager'は宣言されておらず、' Comma、 ')'、または有効な式の継続が期待されています。その他5 ... –

0

データバインドメソッドでは、アイテムのソース数を確認できます。ゼロの場合は、ページャの表示をfalseに設定します。

0

結果を得るために、あなたの取得したデータを確認し、空のコールの場合:

DataPager.Visible = false; 
関連する問題