es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

“Total de la suma de cada columna de valores en sap.ui.table”

Necesito mostrar la suma total de cada columna que tenga valores. Pero solo puedo usar sap.ui.table para esto.

Busqué mucho en internet pero solo encontré resultados antiguos con funciones obsoletas.

¿Alguien puede ayudarme, por favor?

El ejemplo que necesito reproducir:

imagen: ejemplo de suma total

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para mostrar la suma total de cada columna que tenga valores utilizando sap.ui.table, sigue estos pasos:

    1. Define tus plantillas de columna y especifica las funciones de agregación para cada columna que quieras calcular la suma total:
    var oTable = new sap.ui.table.Table({
      columns: [
        new sap.ui.table.Column({
          label: 'Columna 1',
          template: new sap.m.Text({
            text: '{Column1}'
          }),
          sortProperty: 'Column1',
          filterProperty: 'Column1',
          aggregations: [
            new sap.ui.table.Aggregation({
              name: 'sum',
              function: sap.ui.model.analytics.AggregationFunction.Sum,
              path: 'Column1'
            })
          ]
        }),
        new sap.ui.table.Column({
          label: 'Columna 2',
          template: new sap.m.Text({
            text: '{Column2}'
          }),
          sortProperty: 'Column2',
          filterProperty: 'Column2',
          aggregations: [
            new sap.ui.table.Aggregation({
              name: 'sum',
              function: sap.ui.model.analytics.AggregationFunction.Sum,
              path: 'Column2'
            })
          ]
        }),
        //...
      ]
    });
    
    1. Vincula tu tabla a un modelo de datos:
    oTable.setModel(new sap.ui.model.json.JSONModel({
      data: [
        {Column1: 15, Column2: 10},
        {Column1: 25, Column2: 15},
        //...
      ]
    }));
    oTable.bindRows('/data');
    
    1. Utiliza sap.ui.table.SummaryRow para mostrar los valores de suma total en la parte inferior de tu tabla:
    oTable.setSumOnTop(false);
    oTable.setEnableGrouping(true);
    oTable.setShowColumnVisibilityMenu(true);
    
    oTable.setExtension(new sap.ui.table.SummaryRow());
    

    Esto mostrará la suma total de cada columna que tenga valores en la parte inferior de tu tabla utilizando sap.ui.table.SummaryRow.

    Ten en cuenta que este ejemplo utiliza la función sap.ui.model.analytics.AggregationFunction.Sum para calcular los valores de suma total. También puedes utilizar otras funciones de agregación como sap.ui.model.analytics.AggregationFunction.Average, sap.ui.model.analytics.AggregationFunction.Count, sap.ui.model.analytics.AggregationFunction.Maximum y sap.ui.model.analytics.AggregationFunction.Minimum según tus necesidades.

Comments are closed.