Recibo datos de un WCF y lo vinculo a una tabla. Me han ayudado en este foro para agregar algunos campos de cálculo y todo funciona a la perfección. Me gustaría agregar un total al pie de esta tabla. una versión simple de mi página se puede ver en http://jsfiddle.net/qeUHd/3/. Básicamente, me gustaría aprender a agregar un campo a mi ViewModel que es el resultado de la suma de Otro campo en mi muestra "Amount". Cualquier ayuda sería muy apreciada. http://jsfiddle.net/qeUHd/3/knockout compute sum
Respuesta
En su violín, está mapeando su conjunto de datos a self.model, por lo que self.model es observableArray. Como ese era el caso, solo necesitaba armar un computed value para obtener el total.
self.total = ko.computed(function(){
var total = 0;
for(var p = 0; p < self.model().length; ++p)
{
total += self.model()[p].Amount();
}
return total;
});
A continuación, sólo asegúrese de unirse a ella.
<td data-bind="text: total">
Estás haciendo las cosas un poco hacia atrás, pero supongo que es debido a la forma en que está recibiendo los datos, así que ocupado de ella y siguió adelante.
Mientras yo generalmente recomiendo y apoyo poniendo este tipo de campos calculados en el modelo de vista (ya que es generalmente donde pertenecen), hay momentos en los que está trabajando con los datos en los que es difícil añadir propiedades calculadas adicionales. Un ejemplo sería si está agrupando sus datos dentro de la vista. En ese caso, aún podría mostrar su total, pero mueva el cálculo a la vista:
<td data-bind="text: $data.reduce(function(x,y) { return x + y.Amount(); }, 0)"></td>
- 1. No se puede ejecutar una instrucción COMPUTE
- 2. OpenCV PCA Compute en Python
- 3. Compute por ciento en SQLite
- 4. Compute fast log base 2 ceiling
- 5. Azure Compute Emulator no se iniciará
- 6. Pasando Matriz a rsForEach en Renderscript Compute
- 7. Sum varias filas
- 8. Sum over Haskell Map
- 9. sql sum of counts
- 10. SELECCIONAR SUM como campo
- 11. Recursiva SUM Sql Server
- 12. Subset Sum algoritmo
- 13. sum of array column
- 14. Sum NSArray of NSDecimalNumbers
- 15. SUM múltiple utilizando LINQ
- 16. SUM (subconsulta) en MySQL
- 17. Grupo MySQL por SUM
- 18. knockout js y globalización
- 19. Knockout - Primeros elemento
- 20. plantilla de knockout vinculante
- 21. CoffeeScript, Knockout y observables
- 22. Knockout + Jquery Validate
- 23. Entidades HTML con Knockout
- 24. Knockout y MVC 2.0
- 25. SQL 2008 VS 2012 Error: Sintaxis incorrecta cerca de la palabra clave 'COMPUTE'
- 26. Cómo usar @sum con CoreData
- 27. GROUP BY/SUM de Shell
- 28. Grupo A, Sum en LINQ
- 29. Doctrine 2 SUM() Ayudante equivalente?
- 30. Carga diferida en Knockout JS
Muchas gracias Empiezo a entender el nocaut lógico gracias al increíble equipo de expertos aquí. –