Tengo una tienda json que devuelve los valores en formato json. Ahora necesito obtener el número de filas/registros en la cadena json, pero cuando uso la función store.getCount()
, devuelve 0, pero el cuadro combinado se llena con filas, y cuando uso store.length
me vuelvo indefinido, probablemente porque ya no es una matriz, su regreso de la tienda, que está llamando script php. De todos modos, ¿cuál es el mejor enfoque para este problema?ExtJS: devolver filas/registros totales en la tienda json
Respuesta
Trate de hacer esto:
var myStore = Ext.extend(Ext.data.JsonStore, {
... config...,
count : 0,
listeners : {
load : function(){
this.count = this.getCount();
}
}
Ext.reg('myStore', myStore);
y luego usar paneles interiores:
items : [{
xtype : 'myStore',
id : 'myStoreId'
}]
Siempre que necesite para obtener el recuento, entonces puede simplemente hacer esto:
Ext.getCmp('myStoreId').count
Su respuesta JSON del servidor, puede haber algo como esto ...
{
"total": 9999,
"success": true,
"users": [
{
"id": 1,
"name": "Foo",
"email": "[email protected]"
}
]
}
continuación, puede utilizar reader: { type : 'json', root : 'users', totalProperty : 'total', successProperty: 'success' }
en su objeto de almacén.
Como desde docs si su fuente de datos proporcionó puede llamar al getTotalCount
para obtener el tamaño del conjunto de datos.
tengo el mismo problema, puedo obtener el recuento de registros en myStore después de aplicar el filtro.
hago estas:
var _count = 0;
var _filters = [];
_filters = myStore.filters.items.map(function(item){
return {property: item.property, value: item.value}
});
myStore.clearFilter()
_count = myStore.count()
myStore.filter(_filters)
console.log(_count)
corro este script en add/carga/eliminar/controladores de eventos claros de miAlmacén. tengo una excepción después de
- "Uncaught TypeError: Cannot read property 'internalId' of undefined ext.js:39
Ext.define.updateIndexes ext.js:39
Ext.define.onAdd ext.js:39
b.implement.callParent ext.js:39
Ext.define.onAdd ext.js:39
fire ext.js:39
Ext.define.continueFireEvent ext.js:39
Ext.define.fireEvent ext.js:39
Ext.define.insert ext.js:39
Ext.define.addSorted ext.js:39
Ext.define.add ext.js:39
Ext.apply.callback ext.js:39
k ext.js:39
Ext.define.processResponse ext.js:39
b.implement.callParent ext.js:39
(anonymous function) ext.js:39
Ext.apply.callback ext.js:39
Ext.define.onComplete ext.js:39
Ext.define.onStateChange ext.js:39
(anonymous function)"
Si utiliza proxy Ajax para la tienda, como SMTH
proxy : {
type : 'ajax',
url : 'YOUR URL',
reader : {
type : 'json',
root : 'NAME OF YOUR ROOT ELEMENT',
totalProperty : 'NAME OF YOUR TOTAL PROPERTY' // requiered for paging
}
}
y luego cargar su tienda como store.load(); Será enviado Ajax solicitud asincrónica, lo que debe comprobar el recuento de devolución de llamada como esto
store.load({
callback : function(records, operation, success) {
console.log(this.getCount()); // count considering paging
console.log(this.getTotalCount()); // total size
// or even
console.log(records.length); // number of returned records = getCount()
}
});
- 1. Cómo recuperar JSON matriz de datos de ExtJS tienda
- 2. Recargar una tienda json con nuevos parámetros ExtJs Ext.data.JsonStore
- 3. tienda Extjs encontrar todos
- 4. datos Recarga de una tienda en ExtJS 4
- 5. Consumir fechas JSON en un gridpanel EXTJs
- 6. cómo usar el filtro en la tienda ExtJs?
- 7. Actualizar o recargar tienda de ExtJs ComboBox
- 8. ExtJS agarrar JSON resultado
- 9. Extjs 4.0 tienda - cómo encontrar campos en la tienda (o modelo)
- 10. ExtJs - ¿Cómo obtener valor de la Tienda por ID?
- 11. ExtJS Escucha de carga de la tienda no se invoca
- 12. En ExtJS, ¿cómo cargo una tienda cuando visualizo una cuadrícula?
- 13. Vuelva a insertar un registro en una extJS tienda
- 14. Devolver registros totales de SQL Server al usar ROW_NUMBER
- 15. ExtJS 4 Cambiar la tienda de la grilla sobre la marcha
- 16. Cómo publicar datos json con extJS
- 17. Extjs cómo decodificar una cadena json?
- 18. cómo devolver estructura JSON en ASP MVC
- 19. Cómo acceder a los modelos anidados de la tienda en ExtJs 4
- 20. ¿En la tienda Extjs podemos consultar con 2 columnas y 2 valores?
- 21. EXTJS Problema de tienda con valores nulos - useNull: no tiene ningún efecto - ¿Ayuda?
- 22. valor de json de devolución de la tienda en el campo oculto de entrada
- 23. EXTJS + Actualización de una tienda con la ID de la base de datos después de guardar una cuadrícula
- 24. Extjs combobox autocompletar no funciona
- 25. extjs store error handling
- 26. Usar SQL para devolver una cadena JSON
- 27. Devolver objeto JSON desde una página ASP.NET
- 28. extjs 4.1 ¿Cuándo uso un proxy en una tienda y cuando estoy en un modelo?
- 29. Usando Python simplejson para devolver json pregenerado
- 30. ¿Cómo puedo devolver JSON real utilizando Drupal?
su objeto, he intentado .length y no funcionó – Grigor
¿Cómo es su JsonStore siendo cargado (proxy, tienda. loadData, datos en línea)? – Ballsacian1