tipos productos inventarios hospitalarios gestion control almacenes almacenamiento almacen dojo

dojo - productos - gestion de stock pdf



¿Cómo obtengo el recuento de elementos(tamaño) de un almacén de datos dojo? (5)

Un ejemplo en dojocampus demuestra una forma. Aquí, un parámetro de query sin query devuelve todos los artículos en la tienda.

var store = new some.Datastore(); var gotItems = function(items, request){ console.log("Number of items located: " + items.length); }; store.fetch({onComplete: gotItems});

No veo nada en la API de lectura que proporciona acceso a esto: http://api.dojotoolkit.org/jsdoc/1.3.2/dojo.data.api.Leer


El formato de los datos cableados de cualquier almacén de datos es completamente específico de la tienda. Para que pueda obtener el recuento total de elementos (y otros metadatos), se debe devolver como parte de la respuesta. Esta es la única forma de hacer paginación del lado del servidor.

Todas las tiendas que he implementado esperan que los datos contengan un atributo totalCount , así:

{ identifier: ''id'', items: [ { id: 123, name: ''aaa'', ... }, { id: 456, name: ''bbb'', ... }, ... ], totalCount: 525 }

La tienda guarda esto cuando la consulta regresa (en onComplete ). El valor se expone a través de un método getTotalCount() en la tienda.

Cuando se utiliza junto con las opciones de solicitud de start y count , esto le permite tener una buena paginación ajax ("Mostrando 1-50 de 525").

Como esto no forma parte de la API, las implementaciones centrales de la API leída no lo implementan. Una forma de esta técnica (similar a lo que he hecho) parece ser implementada por dojo.data.QueryReadStore , por lo que probablemente también pueda mirar allí.


Estaba buscando la respuesta a esta pregunta usando la tienda JsonRest, y esta parece ser la siguiente:

En su servidor, debe mirar el encabezado del rango en la solicitud para saber qué elementos devolver. El servidor debe responder con un encabezado Content-Range para indicar cuántos elementos se devuelven y cuántos elementos totales existen:

Content-Range: items 0-24/66

De: http://dojotoolkit.org/reference-guide/dojo/store/JsonRest.html



El siguiente código funcionó para mí

// questionStoreReader is a pointer that points to and can read ask.json file var questionStoreReader=new dojo.data.ItemFileReadStore({url:"ask.json"}); questionStoreReader.fetch( { onComplete:function(items,request) // items is an array { alert(items.length);// number of items in ask.json }, })