Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dxDataGrid-如何刷新小部件_Javascript_Jquery_Devextreme - Fatal编程技术网

Javascript dxDataGrid-如何刷新小部件

Javascript dxDataGrid-如何刷新小部件,javascript,jquery,devextreme,Javascript,Jquery,Devextreme,当ı单击按钮时,不工作刷新。如果目的是添加到数据库,则按下按钮进入屏幕。但它并没有更新。我用ajax创建了一个datagrid。我还在ViewModel中编写了刷新函数。不更新的原因可能是什么。我的数据是json $.ajax({ 键入:“获取”, url:“https://js.devexpress.com/Demos/WidgetsGallery/data/orderItems" 成功:函数(消息、结果、状态、xhr){ var obj=jQuery.parseJSON(msg); $(“

当ı单击按钮时,不工作刷新。如果目的是添加到数据库,则按下按钮进入屏幕。但它并没有更新。我用ajax创建了一个datagrid。我还在ViewModel中编写了刷新函数。不更新的原因可能是什么。我的数据是json

$.ajax({
键入:“获取”,
url:“https://js.devexpress.com/Demos/WidgetsGallery/data/orderItems"
成功:函数(消息、结果、状态、xhr){
var obj=jQuery.parseJSON(msg);
$(“#gridContainer”).dxDataGrid({
数据来源:obj,
filterRow:{
可见:true}});}});
var viewModel={
刷新:函数(){
var dataGrid=$('#gridContainer')。dxDataGrid('instance');
dataGrid.refresh();};
返回视图模型

正如Alex提到的,ajax只发生一次。因此,最好使用来加载数据:

var dataSource = {
    load: function() {
        var items = $.Deferred();
        $.ajax({
            type: "GET",
            url: "https://js.devexpress.com/Demos/WidgetsGallery/data/orderItems",
            success: function(result) {
                items.resolve(result.items);
            }
        });

        return items.promise();
    }
};

$("#gridContainer").dxDataGrid({
    dataSource: dataSource,
    //...
});
然后,如果调用dxDataGrid的
refresh()
方法,将重新加载数据源


请注意,如果数据源正在动态更改,则该方法非常有用。

为数据网格实例调用刷新方法的目的是什么?您是否更改了动态更改的数据源?调用refresh方法,您期望得到什么?如果在ajax调用中仅初始化一次网格,则刷新网格没有任何意义。@AlexSkorkin我可以问你一个问题吗?此方法不起作用。只有ajax起作用。我将如何做?>调用refresh方法您希望得到什么?我将简要解释。当我按下该行时,我会用屏幕上的对话框删除该行。但这条线还在那里。但它不会立即出现在屏幕上。我为这个做了一个刷新按钮。进入新闻界的屏幕。(它不在我的代码中)看看这个。我使用本地数据,但没有什么区别。顺便说一句,dxDataGrid具有内置的编辑功能-感谢您的关注。我会尽力用你所给予的来结束。