简体   繁体   中英

dxDataGrid - How to refresh the widget

When ı clicked button, not working refresh.If the purpose is to add to the database buton button press to come to the screen. But is not updating. I created a datagrid with ajax. I also wrote the refresh function in ViewModel.What may be the reason for not renewing. My data is json.

 $.ajax({ type: "GET", url: "https://js.devexpress.com/Demos/WidgetsGallery/data/orderItems" success: function (msg, result, status, xhr) { var obj = jQuery.parseJSON(msg); $("#gridContainer").dxDataGrid({ dataSource: obj, filterRow: { visible: true}});}}); var viewModel = { refresh: function () { var dataGrid = $('#gridContainer').dxDataGrid('instance'); dataGrid.refresh();}}; return viewModel;
 <div data-options="dxView : { name: 'dd',disableCache: true } " > <div data-bind="dxCommand: { icon: 'refresh', id: 'save', onExecute: refresh }"></div> <div data-options="dxContent : { targetPlaceholder: 'content' } " > <div id="gridContainer"></div> </div> </div>

As Alex mentioned, your ajax happens only one. So, it's better to use the DataSource configuration object to load data:

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,
    //...
});

Then, if you call the refresh() method of dxDataGrid, data source will be reloaded.

Demo

Pay attention, the refresh method is useful if your data source is changing dynamically.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM