用angular2刷新jqxgrid

Refresh jqxgrid with angular2

首先我想提一下我正在使用 angular2 和 jqxgrid。

我得到了 jqxgrid,它显示动态数据并且工作正常。但是当我尝试刷新网格或尝试重新绑定它时,网格显示第一次加载的数据,而不是刷新的数据。

我在 jqxgrid 中显示数据的代码如下:

        let url = "http://xxxx" + parameter1 + "xxxx" + parameter2;

        let sourceGrid =
        {
            datatype: "json",
            datafields: [{ "name": "name", "type": "string" },...],
            url: url
        };

        let dataAdapter = new $.jqx.dataAdapter(sourceGrid, {
            downloadComplete: (data, status, xhr) => { },
            loadComplete: data => { },
            loadError: (xhr, status, error) => { }
        });

        this.settings = {
            width: 1500,
            source: dataAdapter,
            ....,
            columns:[{ "text": "name", "datafield": "name"},...]
       }

       this.myGrid.createWidget(this.settings);

到目前为止一切正常。在按钮的单击事件上,我通过传递参数获取数据,即新数据进入 dataAdapter,但 jqxgrid 没有重新绑定或刷新新数据。到目前为止我已经尝试过:

       ...
       dataAdapter.dataBind();
       this.myGrid.source = sourceGrid;
       this.myGrid.updatebounddata();
       ...

我通过 dataAdapter 绑定获得了新数据,但 jqxGrid 仍在显示旧数据。我已经尝试过 refreshData()、refresh(),尝试过使用新的适配器,但网格正在刷新。不确定顺序。

有人可以帮我快速解决吗?

我找到了使用动态数据刷新网格的解决方案:

this.mygrid.setOptions({source:{}}); or new DataAdapter

感谢 jQWidgets 团队