Kendo ui Kendoui网格破坏方法不';刷新网格

Kendo ui Kendoui网格破坏方法不';刷新网格,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我有一个kendoui网格(没有服务器端包装器)。它有几个列显示和“销毁”(删除)按钮。一切正常。但它有两个问题: 当我单击“删除”按钮时,会向服务器发送请求(服务器上的记录被成功删除)。我从服务器返回一个新的记录列表(在处理“删除”请求之后)。但是这个新的记录列表被忽略,不会在客户端上使用。我必须使用“requestEnd”网格事件来刷新网格。因此,向服务器发出两个HTTP请求:“删除记录”、“加载新记录列表”。是否可以使用一个HTTP请求删除记录并从服务器返回新的记录列表 此外,当我单击“删

我有一个kendoui网格(没有服务器端包装器)。它有几个列显示和“销毁”(删除)按钮。一切正常。但它有两个问题:

  • 当我单击“删除”按钮时,会向服务器发送请求(服务器上的记录被成功删除)。我从服务器返回一个新的记录列表(在处理“删除”请求之后)。但是这个新的记录列表被忽略,不会在客户端上使用。我必须使用“requestEnd”网格事件来刷新网格。因此,向服务器发出两个HTTP请求:“删除记录”、“加载新记录列表”。是否可以使用一个HTTP请求删除记录并从服务器返回新的记录列表

  • 此外,当我单击“删除”按钮时,相应的网格行将立即被删除(仅限用户界面),然后向服务器发送HTTP请求。只有在处理HTTP请求后才能从网格(UI)中删除记录吗

  • 另外,以前我使用Telerik MVC扩展(在kendoui之前)时,它工作得很好

  • 销毁调用是在从datasource.data()集合中删除该项之后执行的,因此不需要返回列表。如果您的删除以某种方式影响列表中的其他项目,请调用datasource.read form destroy.complete(是的,这是两个调用)。 另一方面,由于delete,没有什么可以阻止您返回复杂的json对象,其中一个属性将是您的列表,在destroy.complete上展开它,并将集合中的属性分配给数据源,doable。尽管考虑到分页、排序和其他功能,但如果你决定采用这种方式,你将不得不处理。
  • 也就是说,您可以根据需要使用api实现和实现删除过程

  • 示例:

    A) 分页和向下过滤到服务器,假设您启用了服务器端分页

     parameterMap: function (o, operation) {
                                var output = null;
                                switch (operation) {
                                    case "create":
                                        break;
                                    case "read":
                                        output = '{ filter: ' + JSON.stringify(o) + '}';
                                        break;
                               }
                              return output;
                            }
                        },
    
    B) 创建复杂的json是特定于服务器端平台的,理论上,您将要返回到客户端的实际json打包成其他json,添加额外的属性,然后返回。然后,您可以按以下方式阅读:

    transport: {
             destroy: {
                 complete: function (jqXhr, textStatus) {
                           var result = jQuery.parseJSON(jqXhr.responseText);
                           var yourdata = result.yourdata   
                           // pass your data to datasource  
                          }
                   }
               }
    

    谢谢此外,我的网格有几个页面。当我单击“删除”按钮时,当前pge编号和大小不会传递给服务器。如何发送当前网格参数(如“页面大小”、“页面索引”、“排序选项”等)?请提供一个示例作为delete的结果返回复杂的json对象,其中一个属性将是您的列表,在destroy.complete上展开它,并将集合中的属性分配给数据源“?我已经用一些示例代码更新了答案。我认为您应该遵循剑道方式,不要试图回避,替代方案可行但耗时。(确保您的模型定义了id,这可能是删除不起作用的原因之一)。祝您好运。”