2017-04-17 2 views
1
  • J'essaie d'ajouter une liste déroulante à ma colonne "Type" où je peux sélectionner x, y ou z.
  • Lorsque je sélectionne x, y ou z dans la liste déroulante, les cases à cocher des colonnes x, y et z ne changent pas.
  • Cependant, quand je vérifie l'une ou l'autre x, cases à cocher y ou z, la valeur downdrop dans la colonne « Type » changeComment gérer les listes déroulantes dynamiques pour ui-grid?

    { name: 'Type', displayName: 'Type', width: '7%',field:'getType()', editableCellTemplate: 'ui-grid/dropdownEditor', 
         editDropdownValueLabel: 'Type', enableCellEdit: true }, 
    

Voici mon plunker: https://plnkr.co/edit/mzSaxh3PVvqvfJtAYKkU?p=preview

Répondre

0

Cela devrait faire ...

$scope.updateType = function (entity, type) { 
    entity.xBox = type == 'x'; 
    entity.yBox = type == 'y'; 
    entity.zBox = type == 'z'; 
} 

editableCellTemplate: '<select ui-grid-edit-dropdown ng-init="result=row.entity.getType()" ng-options="type for type in [\'x\',\'y\',\'z\']" ng-model="result" ng-change="grid.appScope.updateType(row.entity, result)"></select>' 

Votre Plunker a été mis à jour, https://plnkr.co/edit/SbZkKubGtrzWYJhc8Qv9?p=preview.

+0

Intéressant. Voici un plunker mis à jour: [link] (https://plnkr.co/edit/XgT7XxSjpLAK9UJCjhHE?p=preview) Lorsque je vérifie Own Value, je veux que la colonne Type reflète le dernier x, y ou z vérifié . – UCDaCode

+0

Ignore le commentaire précédent. Voici le commentaire mis à jour: plunker: [link] (https://plnkr.co/edit/XgT7XxSjpLAK9UJCjhHE?p=preview) Lorsque la valeur propre est cochée, la cellule de la colonne Type doit toujours refléter le dernier x, y ou z était décochée. Type ne reflète que xyz lorsque je vérifie les cases x, y ou z. Si la valeur Own est cochée, le produit sera Own Value * qty. Type ne reflète pas xy | z lorsque la valeur propre est cochée. Est-ce possible? Merci beaucoup pour votre patience. – UCDaCode

+0

Ma réponse ci-dessus a-t-elle été utile au moins, si elle n'a pas réellement répondu à votre question initiale? –