9 votes

Masquer le DataPager si Pages = 1

Comment masquer le DataPager s'il n'y a qu'une seule page de données ?

Dans les événements du DataPager, j'ai un asp:Button lorsqu'il est cliqué, il obtient des enregistrements.

Parfois, il n'y a qu'un seul enregistrement et je dois cacher le pager s'il n'y a qu'un seul enregistrement.

Cela pourrait être fait sur postback mais je ne sais pas quelle est la propriété pour le nombre de pages.

17voto

Vache Points 13219

Un article de blog sur MSDN traite de ce sujet :

Comment masquer un contrôle DataPager lorsqu'il n'y a qu'une seule page de données ?

Une façon d'y parvenir est de modifier la directive vi lors de l'événement DataBound du contrôle ListView. Par exemple, il est possible de modifier la visibilité du contrôle lors de l'événement DataBound du contrôle ListView :

protected void ListView1_DataBound(object sender, EventArgs e)
{
  DataPager1.Visible = (DataPager1.PageSize < DataPager1.TotalRowCount);
}

Dans l'exemple ci-dessus, le DataPager n'est pas à l'intérieur du ListView . Si vous placez le DataPager à l'intérieur du LayoutTemplate, alors vous devez modifier un peu le code pour trouver le contrôle à l'intérieur de ListView. Par exemple :

protected void ListView1_DataBound(object sender, EventArgs e)
{
  DataPager pager = (DataPager) ListView1.FindControl("DataPager1");
  pager.Visible = (pager.PageSize < pager.TotalRowCount);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X