Bonjours à tous,
Ayant quelque centaine de ligne a affiché, je me suis dit que la pagination était la meilleur solutions ( cela reduira la temps de chargement de la page qui chargera par exemple 10 lignes par pages, et surtout un conforme pour l'utilisateur).
Mais je ne sais pas du tout comment m'y prendre.
Voici ma fonction qui liste mes données issue d'SQL server :
Ensuite je me sert de cette fonction pour créer une fonction "de mise en forme " :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 public static List<BConseil> ListerConseil(string conditionColonne, string valueCondition, string OrderBY) { string requete = ""; if (!string.IsNullOrEmpty(valueCondition)) { requete = "SELECT * FROM conseil WHERE " + conditionColonne + " = " + valueCondition + " ORDER BY " + OrderBY + " DESC "; } else { requete = "SELECT * FROM conseil ORDER BY " + OrderBY + " DESC "; } List<BConseil> listConseil = new List<BConseil>(); using (SqlConnection cx = new SqlConnection(ConnectionString)) { cx.Open(); SqlCommand cmd = new SqlCommand(requete, cx); cmd.Connection = cx; SqlDataReader dReader; dReader = cmd.ExecuteReader(); int idConseil; string text; DateTime dateAjout; string img; int idSecteur; string titre; int idCat; string imageGrande; while (dReader.Read()) { idConseil = dReader.GetInt32(0); text = dReader.GetString(1); dateAjout = dReader.GetDateTime(2); img = dReader.GetString(3); idSecteur = dReader.GetInt32(4); titre = dReader.GetString(5); idCat = dReader.GetInt32(6); imageGrande = dReader.GetString(7); BConseil newConseil = new BConseil(idConseil, text, dateAjout, img, idSecteur, titre, idCat,imageGrande); listConseil.Add(newConseil); } cx.Close(); dReader.Close(); return listConseil; } }
Puis j'apel cette fonction dans la page aspx.cs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 public static string MiseEnFormConseil(string idCat) { string result = ""; foreach (var item in DBConseil.ListerConseil("idCat",idCat.ToString(),"DateAjout")) { if (item.idCat == 5) { continue; } result += "<div class=templatemo_box>"; result += " <h2>"; result += " <span></span>" + item.titre + "</h2>"; result += "<div class=body>" + " <a href=ficheActu.aspx?actu=" + item.id + "><img class=news_image alt=\"" + item.titre + "\" src=Ressources/conseilJour/" + item.image + "></a>" + " Publié le " + string.Format("{0: dd MMMM yyyy}", item.dateAjout) + " <div id=textConseil>" + ToolKit.coupePhrase(item.text, 180) + " </div>" + " <div id=lienFicheConseil>" + " <a class=bt href=ficheConseil.aspx?conseil=" + item.id + ">Consulter la fiche de l'actualité</a>" + " </div>" + " </div>"; result += " <div class=cleaner>"; result += "</div>"; result += " <br />"; result += "<div class=box_bottom>"; result += " <span></span>"; result += " </div>"; result += " </div>"; }
Je ne sais pas du tout comment m'y prendre pour mettre en place la pagination, je commence même sérieusement a penser que mes fonctions ne sont pas adapter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.literalConseil.Text = MConseil.MiseEnFormConseil(cat.ToString());
PS : Je n'utilise pas de GridView qui serai trop contraignant a utiliser car je n'es pas une mise en forme tabulaire ( cf : Screenshots )
Par avance merci pour votre aide.![]()
Partager