从Kendo Grid Update调用页面刷新

时间:2013-12-19 21:06:19

标签: kendo-ui kendo-grid

我正在使用带内联编辑的Kendo网格让我们称之为Grid3。 Grid正在显示页面视图模型的引用属性中的项列表。当网格上的项目已保存时,我想调用一个完整的页面刷新(或刷新页面上的另外两个网格,Grid1和Grid2)。原因是当网格中的项目已更新时,其他网格中显示的值会受到影响。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

在要刷新的网格上调用datasource.read()。

$("#grid3").kendoGrid({
   dataSource : dataSource,
   save: function(e) {
    grid1.dataSource.read();
    grid2.dataSource.read();
    }
  } 

或者将grid.datasource.read()调用放入数据源完成中。

var dataSource = new kendo.data.DataSource({
                transport: {
                    update: { 
                          complete: function (jqXhr, textStatus) {
                                   grid1.dataSource.read();
                                   grid2.dataSource.read();
                                   } 
                            }
                           }
                          });

答案 1 :(得分:0)

这可以使用RequestEnd事件来完成。

Kendo Grid声明会有类似的内容:

.DataSource(datasource => datasource
    .Ajax()
    .Model(model => model.Id(fi => fi.Id))
    .Read(read => read.Action("Buildings_ReadForecast", "Plan", new {buildingId                               = Model.BuildingID}))
    .Events(events => events.Error("error_handler"))
    .Events(events => events.RequestEnd("OnRequestEnd_Grid"))

然后创建如下的javascript方法:

    function OnRequestEnd_Grid(e) {
    if (e.type === "update") {
        var forecastgrid = $('#ForecastGrid').data('kendoGrid');
        var planGrid = $('#PlanGrid').data('kendoGrid');
        planGrid.dataSource.read();
        forecastgrid.dataSource.read();

      }
    }

就是这样!