IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

Regroupement de lignes pour les grid de Angularjs (ui-grid)


Sujet :

AngularJS

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut Regroupement de lignes pour les grid de Angularjs (ui-grid)
    Bonjour,

    j'utilise les grid de Angularjs (ui-grid)

    Voici ma grid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Header A    !    HeaderB   !   HeaderC   !  HeaderD
     
    value1      !                     !    value3     !  value4
    value1       !     value5      !    value3     !  value4
    value1       !     value6      !    value3    !   value4
    value1       !     value7      !    value3    !   value4
    Je veux faire un grouping à partir du header A. Le problème c'est que je veux remonter les valeurs communes des colonnes HeaderC et HeaderD dans la ligne de grouping comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Header A    !    HeaderB    !  HeaderC   !  HeaderD
     
    value1       !                    !    value3    !   value4
                    !     value5      !           
                    !     value6      !           
                     !    value7      !
    J'ai pensé à utiliser une fonction d'aggrégation mais je ne sais pas comment m'y prendre. Merci d'avance pour vos suggestions

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Bonjour,

    j'ai trouvé une solution sur internet mais qui n'est pas testé

    la definition de ma colonne où j'utilise une fonction d'aggrégation et un template pour ma colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    columnDefs: [
          { name: 'a',field: 'a', displayName: 'A' , width: '2%' , treeAggregationType: uiGridGroupingConstants.aggregation.MAX, cellTemplate: '<div class="ui-grid-cell-contents" > <fakemax val="{{COL_FIELD}}" /></div>'},
    la directive pour le template de ma colonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var phonecatApp = angular.module('phonecatApp', ['ngAnimate', 'ngTouch', 'ui.grid', 'ui.grid.grouping']);
    phonecatApp.directive('fakemax', function () {
        return function(scope, iElement, iAttrs) {
            var value = iAttrs.val;
            value = value.replace("max:", "");
            iElement[0].innerHTML = value;
        }
    });

  3. #3
    Invité
    Invité(e)
    Par défaut
    Sans utiliser Ng-Grid, on peut générer son tableau HTML avec une balise <table> dans un ng-repeat.
    Ensuite, on peut ajouter des filtres dans le Ng-repeat. C'est peut être plus facile à gérer qu'un module externe.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Bonsoir MoumouteMaster et merci pour ta réponse

    finalement, j'ai utilisé un filtre "rawValue" qui remplace "max : valeur" par "valeur" et mon template devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cellTemplate: '<div class="ui-grid-cell-contents" > {{COL_FIELD | rawValue }} /></div>'
    ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/12/2011, 00h46
  2. Réponses: 5
    Dernier message: 27/01/2011, 10h42
  3. Regrouper des lignes en les combinant
    Par Pozoro dans le forum Débutez
    Réponses: 4
    Dernier message: 26/05/2010, 10h56
  4. Réponses: 7
    Dernier message: 12/10/2007, 21h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo