刷新父母的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,保持组件处于打开状态,直到您收到消息返回。