0
votes

Comment montrer le total de valeurs de lignes multiples dans la colonne de la table séparée de la table angulaire 6?

J'utilise une table angulaire 6 et HTML. J'ai montré une liste de liste JSON dans le tableau. Je souhaite montrer au demandeur de programme total de la faculté de faculté pour séparer la colonne («Total des facultés») mais je ne peux pas le faire. S'il vous plaît, guidez-moi pour résoudre ce problème.

Je veux faire comme ça: image < P> Lien Stackblitz

Mon fichier TS: xxx

mon fichier html: xxx


0 commentaires

3 Réponses :



2
votes

Créez d'abord un tableau regroupé par shortName code> et calculez le total, puis ajoutez Rowspan code> Attribut basé sur la condition.

// code html p>

import {Component, OnInit} from '@angular/core';

@Component({
  selector: 'ngbd-datepicker-popup',
  templateUrl: './datepicker-popup.html'
})
export class NgbdDatepickerPopup implements OnInit {
  groupbyShortName = {};
  admitList = [
            {
                shortName: 'FSIT',
                programName: 'BSc in CSE',
                totalApplicant: 10
            },
            {
                shortName: 'FSIT',
                programName: 'BSc in SWE',
                totalApplicant: 5
            },
            {
                shortName: 'FSIT',
                programName: 'BSc in EEE',
                totalApplicant: 15
            },
            {
                shortName: 'FAHS',
                programName: 'BSc in LLB',
                totalApplicant: 10
            },
            {
                shortName: 'FAHS',
                programName: 'BSc in English',
                totalApplicant: 5
            },
            {
                shortName: 'FAHS',
                programName: 'BSc in Pharmacy',
                totalApplicant: 8
            }
        ];


  constructor() {
    this.groupbyShortName = this.admitList.reduce((accu, {shortName, totalApplicant, programName}) => {
        if(!accu[shortName]) 
            accu[shortName] = {count: 0, sum: 0, shortName, totalApplicant, programName};
        accu[shortName].count += 1;
        accu[shortName].sum += totalApplicant;
        return accu;
    }, {});
  }

  ngOnInit() { }

}


0 commentaires

2
votes

3 commentaires

Belle solution. Je suis sûr que cela fonctionne, mais n'est-ce pas une recommandation générale de ne pas utiliser de fonctions dans des vues HTML? quelque chose comme un état de vue propre / immuable / toujours cohérent. Dans ce cas, je ne vois pas de problème. Mais en général pour la détection de changement.


Vous avez raison, mais aussi, en général, je préfère éviter de remplir le modèle avec de longues déclarations, préférez Getter, stratégie sur PUSH et NGXS State Manager, tout le meilleur;)


Nous convenons que pour résoudre la tâche des devoirs de quelqu'un, cela serait surchargé :)