2015-08-24 3 views
0

Je travaille sur SlickGrid JS plugin. Et je veux grouper dynamiquement la grille/table basée sur l'en-tête de table. Comment dois-je passer les paramètres [getter,formatter, aggregators] dynamiquementSlickgrid: regroupement multiple avec paramètres dynamiques

sans codage en dur comme celui-ci

dataView.setGrouping([ 
    { 
     getter : "department", 
     collapsed : false, 
     formatter : function(g){ 
      return g.value; 
     }, 
     comparer : groupComparer 
    },{ 
     getter : "faculty", 
     collapsed : false, 
     formatter : function(g){ 
      return g.value; 
     }, 
     comparer : groupComparer 
    } 
]); 

Est-il possible d'utiliser des instructions de boucle pour générer Array des paramètres

Répondre

0

J'ai essayé beaucoup, et a trouvé cette solution

  arr=["department","faculty"];  //Dynamically generated array having titles to group 
      var ar = []; //empty array to push parameters           
      for(i = 0; i < arr.length; i++) 
      {          
       ar[i] = { 
         getter: arr[i], 
         formatter: function (g) {        
           return ": " + g.value + " <span style='color:green'>(" + g.count + " items)</span>"; 
         },  
         aggregators: [ 
          new Slick.Data.Aggregators.Avg("percentComplete"), 
          new Slick.Data.Aggregators.Sum("cost") 
         ], 
         aggregateCollapsed: false, 
         lazyTotalsCalculation: false 
         };      
      }    
      dataView.setGrouping(ar);