【发布时间】:2012-04-06 22:17:57
【问题描述】:
我正在使用分页器与 ListView 进行分页,但问题是,当从表中找不到行时。在这种情况下,寻呼机也显示分页。所以,我的问题是,我怎样才能隐藏寻呼机。当ListView显示消息no row found时。
提前致谢!!
【问题讨论】:
我正在使用分页器与 ListView 进行分页,但问题是,当从表中找不到行时。在这种情况下,寻呼机也显示分页。所以,我的问题是,我怎样才能隐藏寻呼机。当ListView显示消息no row found时。
提前致谢!!
【问题讨论】:
您可以使用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
如果您的寻呼机不是 ListView 的 LayoutTemplate 的一部分(例如,在 ListView 之外),您可以直接引用它而不使用 FindControl:
jobSearchPager.Visible = jobSearchPager.TotalRowCount > jobSearchPager.MaximumRows
【讨论】:
Protected Sub jobSearchResult_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) DataPager pager = (DataPager) jobSearchResult.FindControl("jobSearchPager") pager.Visible = (pager.PageSize < pager.TotalRowCount) End Sub
DataPager' is a type and cannot be used as an expression and Name 'Pager' is not declared and Comma, ')', or a valid expression continuation expected. and 5 others...
pager.Visible=False。然后,它也是可见的。现在,我将按照您的建议进行调试。
在您的数据绑定方法中,您可以检查项目来源计数。如果为零,则将寻呼机的可见性设置为 false。
【讨论】:
检查您检索到的数据以获取结果,如果为空则调用:
DataPager.Visible = false;
【讨论】: