easysoft / zui

ZUI is an HTML5 front UI framework.
https://openzui.com
MIT License
2.71k stars 690 forks source link

采用远程加载数据时,数据表格2的render()方法不能重新读取数据 #110

Closed eternaloil closed 6 years ago

eternaloil commented 6 years ago

需要在调用之前设置一下DataSource才能刷新数据。 `var data = { rowId : rowId, assessType : assessType }

        $.ajax({
            url:'pm_assess',
            data:JSON.stringify(data),
            type:'POST',
            contentType: "application/json",
            dataType: "json",
            error: function(data){
                $.zui.messager.show(data.responseText,{placement:'top-right'});
            },
            success: function(resData){
                var dataGrid = $('#todoTable').data('zui.datagrid');
                dataGrid.setDataSource(getDataSource());
                dataGrid.render();
            }
        })`
catouse commented 6 years ago

远程数据源不需要自己调用ajax请求,只需要设置数据源的 url 即可。如果 url 地址不变时由于缓存机制不会刷新,需要手动清除缓存,然后调用 render 方法:

//  获取数据表格实例
var datagrid = $('#datagrid').data('zui.datagrid');

// 清除缓存
datagrid.dataSource.data = null;

// 重新渲染
datagrid.render();

因为仅仅是用法问题,这个 Issue 先关闭了。

liaodongxiaoxiao commented 6 years ago

@catouse 按照您的方法,当数据列表只有一天数据时,把这条数据删除。清除缓存-》重新渲染,这条数据还是会在那。