J'ai besoin de mettre en page mes commandes utilisateur - les groupes de 8 ou 10 devraient être beaux. À l'heure actuelle, ils sont dans un espace réservé:Comment puis-je ajouter la pagination aux contrôles utilisateur?
<asp:PlaceHolder ID="ProfileContainer" runat="server"></asp:PlaceHolder>
Et l'espace réservé est peuplé comme celui-ci:
var model = //LINQ to Entities query
foreach(var profile in model) {
Controls_Profile profile = (Controls_Profile)Page.LoadControl("~/Controls/Profile.ascx");
profile.Name = model.Name;
//more properties
ProfileContainer.Controls.Add(profile);
}
Comment puis-je la page des résultats en cas j'ai des centaines de profils? La plupart des messages que je trouve sont liés à la création d'un contrôle de pagination personnalisé qui ne fait que piocher une table.
J'ai pensé à créer un compteur qui préfixerait le premier contrôle avec <div id="Group1">
. Après 8 ou 10 contrôles, ajouter </div>
. Je pourrais utiliser jQuery pour insérer des liens précédents/précédents et contrôler leur flux en fonction du numéro de groupe. Mais, comment puis-je faire Response.Write("<div id="groupx">");
au milieu de la boucle que les contrôles sont ajoutés? Comment cela fonctionnerait-il?
Vous pouvez créer une fonction qui renvoie un DataTable rempli avec vos contrôles personnalisés et définir cela comme source de données d'un GridView. Cela vous permettra d'utiliser les fonctions de pagination de GridView. – clifgriffin