刷新父母的KoGrid从子窗体

问题描述:

在主页上我有一个网格刷新父母的KoGrid从子窗体

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

和一个孩子组成

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

的子组件将打开一个小窗口,让我改变数据在网格组件内(都链接到Web服务)。

现在,当我单击子组件上的“提交”按钮时,数据更改被发送到服务并在数据库中更新,子组件也被关闭。

但是,显示方面,网格看起来仍然完全一样。我对通常的knockout.js并不陌生,因此我不确定在网格中刷新(就地)数据的最佳方式是什么,以便用户可以立即看到更改。

在此先感谢!

(一切是一个.NET C#应用程序中)

最简单的方式是通过可观察的模型组件,并在你的组件绑定使用PARAMS。唯一需要注意的是,当您将新行插入数据库并且没有该ID时。保存完成后,您必须设置ID,保持组件处于打开状态,直到您收到消息返回。