2017-09-25 1 views
0

Sur la page principale J'ai une grilleparent Actualiser de KoGrid de formulaire enfant

<div data-bind="setGridCell: 12, 
     component: { 
      name: 'ko.widget.koGrid', 
      params: { 
       id: 'gridId', 
       lazyLoad: true, 
       autoPopulate: false, 
       url : someurl; 
      }"> 
    </div> 

Et un composant enfant

<div data-bind="setGridCell: 12, 
     component: { 
      name: 'ko.view.report.confirmationWindow', 
      params: params() 
     }"> 
    </div> 

Le composant enfant ouvrira une petite fenêtre qui me permet de changer les données à l'intérieur du composant de grille (les deux sont liés aux services Web).

À l'heure actuelle, lorsque je clique sur le bouton "Soumettre" du composant enfant, le changement de données est envoyé au service et mis à jour dans la base de données, le composant enfant est également fermé.

Cependant, sur le plan de l'affichage, la grille semble toujours la même. Je suis novice en matière de knockout.js en général, donc je ne suis pas sûr de la meilleure façon d'actualiser (in situ) les données dans la grille afin que l'utilisateur puisse voir immédiatement les changements.

Merci d'avance!

(tout est dans une application C# .NET)

Répondre

0

La façon la plus simple est de passer le modèle observable au composant et utiliser les params dans vos fixations de composants. La seule chose à surveiller est lorsque vous insérez une nouvelle ligne dans une base de données et que vous n'avez pas l'ID. Vous devez définir l'ID lorsque votre sauvegarde est terminée en laissant le composant ouvert jusqu'à ce que vous obteniez un retour de votre message.