乘以ColumnDef字段ng-grid

时间:2014-04-23 15:24:13

标签: angularjs ng-grid

可以在野外进行操作吗? 我需要将CostoUnitario与Qta相乘,并将其显示在TOTALE列中

这是我的数组。在ng网格中,用户将插入值(我设置4个字段只是为了尝试)。 一切都在其他地方工作正常,我可以得到我想要的结果,但我需要字段Totale来显示CostoUnitario和Qta之间的乘法。 (这是发票。)

     $scope.myData = [{Numero:'',Descrizione:'',CostoUnitario:'10',Qta:'1',Totale:''},
                  {Numero:'',Descrizione:'',CostoUnitario:'90',Qta:'1',Totale:''},
                  {Numero:'',Descrizione:'',CostoUnitario:'',Qta:'',Totale:''},
                  {Numero:'',Descrizione:'',CostoUnitario:'',Qta:'',Totale:''},
                  {Numero:'',Descrizione:'',CostoUnitario:'',Qta:'',Totale:''},
                  {Numero:'',Descrizione:'',CostoUnitario:'',Qta:'',Totale:''}
  ];           
  $scope.gridOptions = { 
    data: 'myData', 
    enableCellSelection: true,
    enableCellEdit: true,
    enableRowSelection: false,
    columnDefs: [{field: 'Numero', displayName: 'Numero', enableCellEdit: true},
      {field:'Descrizione', displayName:'Descrizione'},
      {field: 'CostoUnitario', displayName: 'Costo Unitario', enableCellEdit: true},
      {field: 'Qta', displayName: 'Qta', enableCellEdit: true},
      {field: 'CostoUnitario*Qta', displayName: 'Totale', enableCellEdit: false}]

1 个答案:

答案 0 :(得分:1)

你走在正确的轨道上。我将一个函数附加到数据中的每一行,并在field列的Totale键中引用它。

这是plnkr

columnDefs: [{field: 'Numero', displayName: 'Numero', enableCellEdit: true},
      {field:'Descrizione', displayName:'Descrizione'},
      {field: 'CostoUnitario', displayName: 'Costo Unitario', enableCellEdit: true},
      {field: 'Qta', displayName: 'Qta', enableCellEdit: true},
      {field: 'getTotale()', displayName: 'Totale', enableCellEdit: false}
    ]

...

angular.forEach($scope.myData, function(row) {
    row.getTotale = function() {
      return row.CostoUnitario * row.Qta;
    };
  });