从子表单刷新父亲的KoGrid

时间:2017-09-25 11:01:48

标签: javascript jquery knockout.js

在主页面上我有一个网格

    <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服务)。

现在,当我点击&#34;提交&#34;子组件上的按钮,数据更改被发送到服务并在数据库中更新,子组件也被关闭。

然而,在显示方面,网格看起来仍然完全相同。我对knockout.js一般是新手,所以我不确定什么是最好的方法来刷新(就地)网格中的数据,以便用户可以立即看到变化。

提前致谢!

(一切都在.NET C#应用程序中)

1 个答案:

答案 0 :(得分:0)

最简单的方法是将可观察模型传递给组件,并在组件绑定中使用params。唯一需要注意的是当您向数据库插入新行并且没有ID时。保存完成后,您必须设置ID,使组件保持打开状态,直到您从消息中返回为止。