Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2011, 18h33   #1
Membre à l'essai
 
Inscription : juillet 2004
Messages : 48
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 48
Points : 22
Points : 22
Par défaut pagination desactivée sur une flexigrid

Bonjour tout le monde,

Je développe un site en MVC3 et techno microsoft framework 4.0.

J'ai insérer correctement ma grille dans ma page et tout est "ok" (données, trie).
Le problème vient de la pagination, quand je clique aucun appel ajax est réalisé.

Je cherche désesperemment d'ou cela peut venir. J'avais fais un test sur un projet et cela fonctionné.

Je n'ai pas d'erreur sur ma page.

Auriez vous une piste? je vous met mon code :

View:
Code :
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
 
<script type="text/javascript">
...
 
$("#listApp").flexigrid({
                url: urlApp,
                dataType: 'json',
                colModel: [
                 { display: 'Nom', name: 'Name', width: '200', sortable: true, align: 'left' },
                 { display: 'Etat', name: 'Etat', width: '200', sortable: true, align: 'left' },
                 { display: 'Version', name: 'Version', width: '100', sortable: true, align: 'center' }
                ],
                searchitems: [
                { display: 'Nom', name: 'Name', isdefault: true }
                ],
                sortname: 'Name',
                sortorder: 'asc',
                usepager: true,
                title: TitlegridApp,
                useRp: true,
                rp: 10,
                showTableToggleBtn: true,
                width: 'auto',
                height: 120,
                search: searchvalue,
                singleSelect: true
            });
...
</script>
et coté div :

<div id="selectService" style="display: none;">
<table id="listService" class="scroll" cellpadding="0" cellspacing="0"> </table>
</div>

Coté controlleur:
Code :
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
public JsonResult SelectAppJquery()
        {
            try
            {
                int page = int.Parse(Request.Form["page"]);
                int rp = int.Parse(Request.Form["rp"]);
                string qtype = Request.Form["qtype"].ToString();
                string query = Request.Form["query"].ToString();
                string sortname = Request.Form["sortname"].ToString();
                string sortorder = Request.Form["sortorder"].ToString();
                string search = Request.Form["search"].ToString();
 
                if (!string.IsNullOrEmpty(search))
                {
                    List<BusinessObject.Application> reqsltApp = new List<BusinessObject.Application>();
                    using (var DomusEntity = new BusinessObject.DOMUSEntities())
                    {
                        var reqsplsearch = DomusEntity.GetSimpleSearch(search);
                        var dico = reqsplsearch.FirstOrDefault();
                        ViewData["ST"] = dico.ST;
                        ViewData["BAIE"] = dico.BAIE;
                        ViewData["Application"] = dico.Application;
                        ViewData["UH"] = dico.UH;
 
                        reqsltApp = DomusEntity.Applications.Where(p => p.Name.Contains(search)).ToList();
                    }
                    var Applist = reqsltApp.AsQueryable();
                    if (!string.IsNullOrEmpty(qtype) && !string.IsNullOrEmpty(query))
                    {
                        switch (qtype)
                        {
                            default:
                                break;
                            case "Name":
                                Applist = Applist.Where(s => s.Name.Contains(query));
                                break;
                        }
                    }
 
                    if (!string.IsNullOrEmpty(sortname) && !string.IsNullOrEmpty(sortorder))
                    {
                        Applist = Applist.OrderBy(sortname, (sortorder == "asc"));
                    }
                    Applist = Applist.Skip((page - 1) * rp).Take(rp);
 
                    var result = new
                           {
                               page = page,
                               total = Applist.Count(),
                               rows = Applist.Select(App => new
                               {
                                   id = App.id_application.ToString(),
                                   cell = new string[] {
                                        App.id_application.ToString(),
                                        App.Name,
                                        App.State, 
                                        App.Criticity
                                   }
                               })
 
                           };
                    return Json(result, JsonRequestBehavior.AllowGet);
                }
            }
            catch (Exception exc)
            {
                log.Error(exc.Message, exc);
            }
            return null;
        }
Voila merci de votre aide
Dargos30 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 14h49   #2
Membre à l'essai
 
Inscription : juillet 2004
Messages : 48
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 48
Points : 22
Points : 22
J'ai trouvé la réponse.

Cela venait dans ma méthode dans mon controlleur:
je modifié ma variable et la passer en réponse:
Code :
1
2
3
4
5
6
7
8
 
Applist = Applist.Skip((page - 1) * rp).Take(rp);
 
                    var result = new
                           {
                               page = page,
                               total = Applist.Count(),
                               rows = Applist.Select(App => new
alors qu'il faut passer par une variable temporaire:
Code :
1
2
3
4
5
6
7
8
 
var ApplistTmp = Applist.Skip((page - 1) * rp).Take(rp);
 
                    var result = new
                           {
                               page = page,
                               total = Applist.Count(),
                               rows = ApplistTmp .Select(App => new
En espérant que ca peut aider certain.
Bonne continuation.
Dargos30 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h56.


 
 
 
 
Partenaires

Hébergement Web