Ext.les données.Magasin getTotalCount() ne parvient pas à calculer après charge
Mon magasin n'est pas toujours le retour de la bonne quantité de dossiers lors de l'appel de getTotalCount()
. Ce problème se produit après que j'ai load()
le magasin. Je sais qu'il existe des enregistrements dans le magasin à ce moment de la vérification.
Je suis à l'aide de ExtJs 4.1.3
//this.grid = reference to my grid
var count = this.grid.getStore().getCount(), //50
total = this.grid.getStore().getTotalCount(); //16000
this.grid.getStore().load();
count = this.grid.getStore().getCount(); //50
total = this.grid.getStore().getTotalCount(); //0
Comment puis-je obtenir le nombre d'enregistrements pouvant être chargé dans le Magasin si le Magasin contenait toutes les données?
Mon magasin de configuration.
store: Ext.create('Ext.data.Store', {
model: me.modelName,
remoteSort: true,
remoteFilter: true,
pageSize: 50,
trailingBufferZone: 25,
leadingBufferZone: 50,
buffered: true,
proxy: {
type: 'ajax',
actionMethods: { read: 'POST' },
api: {
read: me.urls.gridUrl
},
extraParams: Ext.applyIf({ FilterType: 0 }, me.urlParams.gridUrlParams),
simpleSortMode: true,
reader: {
type: 'json',
root: 'data',
totalProperty: 'total'
}
},
autoLoad: true
})
Je peux confirmer que le total
propriété est à envoyer pour toutes mes demandes.
{
"succes": true,
"data": [
//50 records
],
"total": 16219,
"errors": []
}
Veuillez fournir le Magasin de config et le serveur de données - ne pas oublier d'envoyer "total" de la valeur?
Ouais, je suis sûr que vous avez oublié d'envoyer le total prop la deuxième fois, ou il y a un bug.
J'ai mis à jour mon post contenant le magasin de configuration. Le serveur de données est hors de propos.
pas de. Il n'est pas. Réponse du serveur doit contenir valide "total" de la valeur
Ouais, je suis sûr que vous avez oublié d'envoyer le total prop la deuxième fois, ou il y a un bug.
J'ai mis à jour mon post contenant le magasin de configuration. Le serveur de données est hors de propos.
pas de. Il n'est pas. Réponse du serveur doit contenir valide "total" de la valeur
OriginalL'auteur A1rPun | 2013-03-07
Vous devez vous connecter pour publier un commentaire.
Load
est asynchrone. Quand vous l'appelez, le magasin supprime le nombre total de propriété, et au moment où vous atteignez la deux lignes après le chargement le plus de chances que le serveur n'a pas renvoyé encore de mettre à jour la propriété:Vous devriez vraiment écrire:
getCount()
retourne la bonne valeur.Je suppose qu'il renvoie la valeur précédente, ce qui n'est pas supprimé lors de la charge.
OriginalL'auteur Izhaki