2010-11-11 4 views
0

Je reçois un problème de pagination lorsque je supprime le dernier enregistrement de la dernière page, comment puis-je résoudre le problème de pagination, pls voir la capture d'écran que j'ai attaché.Extjs Grid problème de barre de pagination

alt text

En magasin enregistrement de l'événement, je vais recharger le magasin pour la mise à jour de la grille pour le tri à distance.

comme celui-ci

var fGridStore = new Ext.data.Store({  
    proxy:ApGrpFGrdProxy,      
    autoLoad :false, 
    autoSave:false, 
    idProperty:'airBasicIndex', 
    baseParams:{start:0, limit:25}, 
    reader:firstGridreader, 
    writer: fssuperGrdWriter, 
    listeners:{ 

       save :function (St, records, options){ 
        St.reload();       
        } 
     }, 
    remoteSort:true 
}); 

In Grid ..

bbar: new Ext.PagingToolbar({ 
        pageSize: 25, 
        store: fGridStore, 
        displayInfo: true,      
        emptyMsg: "No records to display" 
       }), 

si vous affichez mon capture d'écran .. 5 4 sera la page lorsque je supprime l'enregistrement final dans la dernière page. Comment puis-je passer à la page précédente lorsque je supprime l'enregistrement final dans la dernière page.

Merci à l'avance

Répondre

1

Avez-vous essayé d'utiliser la méthode moveLast() sur la barre d'outils pour la navigation pour accéder à la dernière page?

API Docs for PagingToolbar.moveLast()

+0

salut « Il Grunt » THNK réponse ur, comment allons-nous l'identifier est le dernier enregistrement de la dernière page ..then que je pense que nous pouvons utiliser ce method..else il se déplace toujours à la dernière page pour tous les événements de suppression ..... est-ce exact ou cela fonctionnera-t-il? – vineth

+0

Cela devrait fonctionner puisque vous voulez passer à la page qui contient le dernier événement. Comme suggéré dans la réponse précédente, vous devez utiliser le Ext.data.Store.getTotalCount() pour voir le nombre total d'enregistrements dans le magasin avant d'aller à la dernière page de la barre d'outils. –

0

Je pense que la meilleure pratique dans ce cas est de retour total Nombre de lignes à chaque demande. Vous devez recharger votre magasin après une action de suppression. Ensuite, vous pouvez configurer votre lecteur pour utiliser Total Row Count. Ensuite, le problème disparaîtra automatiquement. Voir Ext.data.JsonReader API Doc.

var myReader = new 
Ext.data.JsonReader({ 
// metadata configuration options: 
idProperty: 'id' 
root: 'rows', 
totalProperty: 'results', 
Ext.data.DataReader.messageProperty: 
"msg" // The element within the 
response that provides a user-feedback 
message (optional) 

    // the fields config option will internally create an Ext.data.Record 
    // constructor that provides mapping for reading the record data 
objects 
    fields: [ 
     // map Record's 'firstname' field to data object's key of same 
name 
     {name: 'name'}, 
     // map Record's 'job' field to data object's 'occupation' key 
     {name: 'job', mapping: 'occupation'} 
    ] }); 
+0

salut user506212, j'ai totalProperty dans le lecteur ressemble – vineth

+0

lecteur: nouveau Ext.data.JsonReader ({ racine: 'res', id: 'HJid', idProperty: 'arOpDefIndex', totalProperty: 'totalCount', successProperty: 'succès', messageProperty: 'message', champs: champs }), – vineth