Un foro de discusión para nuestra comunidad de hispano hablante

Moderators: ArturoRobles, ArturoRobles

By fardon
#790673
Buen dia amigos, saber en que estoy fallando, estoy intentando mostrar la suma de una columan dentro de un grid en un Textbox fuera del grid dependiendo de si se selecciona la fila mediante un checkbox,

Image

Este seria el codigo que estoy utilizando:
Code: Select all
function sumarColumna ()
{  
	var gridId = 'reclamoProductos'; 
  
  	var aGridVals = $('#'+gridId).getValue();
    
    //loop through grid and check whether the "name" field is empty in each row
    for (i = 1; i <= aGridVals.length; i++) 
      
    {
      var radio = $("#reclamoProductos").getValue(i, 8);
      var total = $("#reclamoProductos").getValue(i, 7);
      if (radio != "" && radio != null && isNaN(radio))
      
      {
        var suma = 0;
        suma += parseFloat(total);
        //var pp = suma.toFixed(3);
  	$("#txtotal").setValue(suma);
  
      }
    }
  }
location.onload = sumarColumna ();

$("form").setOnchange( function (fieldId, newVal, oldVal) {
   sumarColumna();
});
User avatar
By amosbatto
#790676
Tu código debe ser algo como este:
Code: Select all
function sumarColumna (fieldId, newVal, oldVal) { 
  var gridId = 'reclamoProductos';
  var aGridVals = $('#'+gridId).getValue();
  var suma = 0; 
  //loop through grid and check whether the "name" field is empty in each row
  for (i = 0; i < aGridVals.length; i++) {
    //total is columna 6 y selecciona... es columna 7 (contando desde 0)
    if (aGridVals[i][7] == "1") {
      suma += parseFloat(aGridVals[i][6]);
  }   
  //suma = suma.toFixed(3);
  $("#txtotal").setValue(suma);
}

$("form").setOnchange( sumarColumna ); //calculate when any field changes in the form
sumarColumn("any", "x", "y");   //calculate when the form loads
By fardon
#790706
Hola amos, probe tu codigo pero solo me esta capturando el valor de la primera fila, las demas me pone en 0 el valor,

Image

Cuando selecciono la segunda o tercer fila el valor que toma es 0
Image
User avatar
By amosbatto
#790747
Falta una llave para cerrar la clausa de if. Debe ser esto:
Code: Select all
function sumarColumna() {
  var gridId = 'reclamoProductos';
  var aGridVals = $('#'+gridId).getValue();
  var suma = 0;
  //loop through grid and check whether the "name" field is empty in each row
  for (i = 0; i < aGridVals.length; i++) {
    
    //total is columna 6 y selecciona... es columna 7 (contando desde 0)
    if (aGridVals[i][7] == "1") {
      var aGridVals = $('#'+gridId).getValue();
      suma = parseFloat(suma) + parseFloat(aGridVals[i][6]);
    }
  }
  //suma = suma.toFixed(3);
  $("#txtotal").setValue(suma);
}
	
sumarColumna(); //when dynaform loads

$("form").setOnchange( function (fieldId, newVal, oldVal) {
   sumarColumna();
});
#826318
Buenas tardes a todos, necesito hacer una suma similar a la de este hilo pero en lugar de un checkbox quiero usar los valores de otra columna como condición. Para simplificar, supongamos que tengo una grilla con los campos "item", "monto" y "proveedor". Lo que quiero obtener es la suma de la columna "monto" por cada proveedor diferente que aparezca en la grilla y mostrarlos en otra grilla "montoTotalPorProveedor" con los campos "proveedor" y "montoTotal".
Cualquier ayuda va a ser agradecida, ya que todavía no pude dar con la solución :( .
Saludos!

I have a suggest where user have to select some do[…]

The 500 Internal Server Error is the general catch[…]

Really very nice blog information for this one and[…]

This is a long, lengthy and cumbersome process. T[…]