2017-03-29 3 views
0

J'ai une grille d'interface utilisateur configurée pour mon site. J'ai utilisé expandableRowTemplate pour le développer afin d'afficher du contenu simple lorsque l'utilisateur clique sur le bouton d'expansion. En ce moment, il montre le contenu correctement. Mais mon exigence est lorsque l'utilisateur clique sur le bouton d'expansion en dehors de l'expansion et en montrant le contenu, il devrait également appeler un service de backend pour envoyer des données au serveur et recevoir quelque chose.Extension et appel de service backend dans UI-Grid

Ce scénario est-il possible dans la grille d'interface utilisateur? J'utilise Angular 1.5 et Ui Grid 4.0.1.

Répondre

0

Il existe un événement API public qui est déclenché lorsqu'une ligne est basculée. Vous pouvez fournir une fonction appelant le service REST à cet événement.

gridApi.expandable.on.rowExpandedStateChanged(scope,function(row){}) 

Et si vous voulez faire un appel que si la ligne est développée, je ne vois que deux façons:

  1. Soit vous avez votre propre une clé redondante à chaque ligne comme row.isExpanded et basculez-le dans cette fonction et utilisez-le pour votre usage.
  2. Ou vous pouvez trouver si la ligne à l'intérieur de cette fonction est incluse dans le résultat de getExpandedRows(). C'est redondant hilarante.

Source: http://ui-grid.info/docs/#/api/ui.grid.expandable.api:PublicApi

+0

Harshali- Vous essayez de me dire que je dois ajouter mon repos code d'appel en rowExpandedBeforeStateChanged: function (portée, ligne) {} cette méthode qui est là dans ui-grid .js? –

+0

Oui. D'après ce que je comprends de votre question, cela devrait fonctionner pour vous. –