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. Compute por ciento en SQLite
- 3. OpenCV PCA Compute en Python
- 4. Azure Compute Emulator no se iniciará
- 5. Compute fast log base 2 ceiling
- 6. Pasando Matriz a rsForEach en Renderscript Compute
- 7. Sum varias filas
- 8. sum of array column
- 9. Recursiva SUM Sql Server
- 10. Sum NSArray of NSDecimalNumbers
- 11. Subset Sum algoritmo
- 12. SUM (subconsulta) en MySQL
- 13. SELECCIONAR SUM como campo
- 14. Sum over Haskell Map
- 15. Grupo MySQL por SUM
- 16. SUM múltiple utilizando LINQ
- 17. sql sum of counts
- 18. knockout js y globalización
- 19. Knockout - Primeros elemento
- 20. Knockout + Jquery Validate
- 21. plantilla de knockout vinculante
- 22. CoffeeScript, Knockout y observables
- 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. Doctrine 2 SUM() Ayudante equivalente?
- 27. Grupo A, Sum en LINQ
- 28. GROUP BY/SUM de Shell
- 29. Cómo usar @sum con CoreData
- 30. Knockout + customBinding no está actualizando
Muchas gracias Empiezo a entender el nocaut lógico gracias al increíble equipo de expertos aquí. –