Kendo UI Grid:是否支持使用带有空数据数组的dataSource初始化网格?

时间:2012-12-16 11:44:05

标签: arrays grid datasource kendo-ui is-empty

我想知道是否支持以下方法:

  1. 定义网格架构和列并使用数组进行初始化:

    var dataSource = new kendo.data.DataSource({
        data: []    // intentionally empty!
    });
    
     $("#grid").kendoGrid({
       dataSource: dataSource, 
      schema: {
               model: {
                            fields: {
    
                                arrive: {type: "number"},
                                depart: {type: "number"},                                   
                                src: {type: "string"}
                            }
                        } 
            },
                 columns: [
    
            { field: "arrive", groupable: false, title: "arrive",width:88},
            { field: "depart", groupable: false, title: "depart",width:88},               
            { field: "src", groupable: true, title: "src", width:44 }
        ]
    
          etcetera
    
      });
    
  2. 然后,在配置/初始化之后,绑定到Change事件:

    var grid = $('#grid').data('kendoGrid');
        grid.dataSource.bind("change", function (e) {
            dataChanged();
        });
    
    
       function dataChanged() {
         var grid = $("#grid").data("kendoGrid");
         grid.refresh();
       }
    
  3. 然后执行此操作:

     function populateDatasource(event, data) {
         var grid = $('#grid').data('kendoGrid');     
          var parsedData = $.parseJSON(data);   
         grid.dataSource.data(parsedData);
    }
    
  4. 将触发更改的事件并刷新网格。我认为如果使用空数组初始化dataSource,观察模式可能会有一些麻烦。

1 个答案:

答案 0 :(得分:1)

我不确定你的观察模式是什么意思。但网格可以有一个空的数据源。这是一个演示:http://jsbin.com/izizut/1/edit

您的网格配置错误。架构设置是数据源配置的一部分,而不是网格。您可以在数据源API reference中找到更多信息。

在这种情况下,也无需订阅数据源的更改事件。默认情况下网格正在监听它,并会自动刷新。