IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Problème avec la pagination


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Par défaut Problème avec la pagination
    Bonjour à tous,
    J'utilise le grid d'ExtJs afin d'afficher mes données récupérées depuis une bd sql server via un web service, le retour des données se fait en format JSON, je suis arrivé a faire afficher mes données sur le grid mais je bloque au niveau de la pagination, je retrouve tout mes enregistrements sur la première page même si j'ai bien spécifié la limite a afficher par page ... je ne vois pas d'où peut venir ce problème surtout que je me suis basé sur la doc officielle, merci de votre aide
    Voici mon code :
    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
    50
    51
    52
    53
    54
    //ExtJs 4
     
    Ext.onReady(onReady);
     
    function onReady() {
        var itemsPerPage = 10;
        var store = new Ext.data.JsonStore({
            autoLoad: false,
            pageSize: itemsPerPage,
            proxy: new Ext.data.HttpProxy({
                type: 'ajax',
                url: '../Service.asmx/GetMyDvpt',
                reader: {
                    type: 'json',
                    root: 'd',
                    totalProperty: 'total',
                    idProperty: 'Id'
                },
                headers: {
                    'Content-type': 'application/json'
                }
            }),
            fields: ['NOM_EXP', 'NOM_ESP', 'NOM_VAR', 'SURF_PG', 'DD_CYCLE_PROD']
     
        });
     
        store.load({
            params: {
                start: 0,
                limit: itemsPerPage
            }
        });
     
        Ext.create('Ext.grid.Panel', {
            store: store,
            columns: [
    		            { dataIndex: 'NOM_EXP', header: 'NOM_EXP' },
    		            { dataIndex: 'NOM_ESP', header: 'NOM_ESP' },
    		            { dataIndex: 'NOM_VAR', header: 'NOM_VAR' },
    		            { dataIndex: 'SURF_PG', header: 'SURF_PG' },
                        { dataIndex: 'DD_CYCLE_PROD', header: 'DD_CYCLE_PROD', flex: 1 }
    		        ],
            renderTo: 'panel',
            title: 'Dvpt Grid',
            width: 570,
            height: 350,
            dockedItems: [{
                xtype: 'pagingtoolbar',
                store: store,
                dock: 'bottom',
                displayInfo: true
            }]
        });
    }

  2. #2
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Bonjour,

    Je ne suis pas sûr que le problème vienne de extjs mais de ta requête.
    As-tu bien le limit (en fonction de la bdd) dans le requête SQL ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Par défaut
    Bonjour,
    ben en faite je ne vois pas l'intérêt de mettre une limite dans ma requête vu que je dois récupérer toutes les données, c'est juste l'affichage qui doit se faire par bloc de 10 enregistrements par page par exemple

  4. #4
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Extjs ne permet pas de faire ça.
    Il est même préférable pour des questions de performances, de n'afficher que les données utiles.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 14
    Par défaut
    Bonjour,
    Euh ... je crois qu'il le fait, vu que sur leur exemples ils affichent les données depuis une base mais sous forme de forum ... et je ne vois pas ou pourrai être le problème (logiquement, tant qu'on peut afficher ce dont on a besoin, on peut tout afficher) exemple : si j'ai besoin de 50 enregistrements et que je souhaite en avoir que 10 par page, si cela est faisable après c'est pareil.
    Mon souhait c'est juste de pouvoir paginer, limiter le nbr d'enregistrement a afficher par page.

  6. #6
    Membre éclairé
    Avatar de abraxis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 439
    Par défaut
    Pour limiter le nombre d'enregistrement sur ta page il faut mettre un limit dans ta requête car il n'y a pas de propriété permettant de limiter le nombre de données à afficher dans un grid sans pagination.
    Seule la barre de pagination permet de limiter le nombre de données à afficher.
    De plus si tu a 5000 résulta, en une seule fois cela risque d'être long...
    Avec la pagination (et donc la découpe avec le limit), l'utilisateur ne va faire appel qu'a des "petits" paquets de données donc plus rapide. La pagination s'occupe elle même de renvoyer les infos pour refaire une requête et envoyer la suite des données.

    Pour faire de la pagination en local, je cherche aussi à le faire mais pour la simple et bonne raison que je ne peu pas mettre de limit dans ma reqête :s
    Tu a une explication pour la pagination en local ici : http://www.developpez.net/forums/d10...ination-local/

Discussions similaires

  1. Problème avec la pagination coté serveur
    Par devalender dans le forum MkFramework
    Réponses: 32
    Dernier message: 31/10/2014, 19h57
  2. [CakePHP] Problème avec le paginator
    Par Tybaal dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 28/07/2011, 14h29
  3. [Système] Problème avec ma pagination.
    Par Peuplarchiste dans le forum Langage
    Réponses: 1
    Dernier message: 25/02/2008, 11h58
  4. Problème avec la pagination
    Par Vlacar dans le forum ASP
    Réponses: 4
    Dernier message: 25/02/2007, 18h20
  5. [phpBB][2] Réalisation d'un système de pagination
    Par AlphonseBrown dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 26/10/2005, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo