Javascript dxDataGrid-如何刷新小部件
当ı单击按钮时,不工作刷新。如果目的是添加到数据库,则按下按钮进入屏幕。但它并没有更新。我用ajax创建了一个datagrid。我还在ViewModel中编写了刷新函数。不更新的原因可能是什么。我的数据是jsonJavascript 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({
键入:“获取”,
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具有内置的编辑功能-感谢您的关注。我会尽力用你所给予的来结束。