dojox.grid.EnhancedGrid 和 dojox.grid.DataGrid 的继承关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dojox.grid.EnhancedGrid 和 dojox.grid.DataGrid 的继承关系相关的知识,希望对你有一定的参考价值。

 dojox.grid.EnhancedGrid  的介绍说, EnhancedGrid 是基于 DataGrid 提供增强功能的。

EnhancedGrid (dojox.grid.EnhancedGrid) provides a rich set of features that enhance the capabilities of base DataGrid. All these features are implemented as separate plugins which can be loaded on demand, the required features must be declared before used.

不引入插件的 EnhancedGrid 就像 DataGrid 一样。

所有,可以理解为 EnhancedGrid 是继承 DataGrid 的。或者说, EnhancedGrid 的原型是 DataGrid。

 

下面用代码证明 : 

    var grid = new dojox.grid.EnhancedGrid({
        id: ‘grid‘,
        store: store,
        structure: layout,
        rowSelector: ‘20px‘},
      document.createElement(‘div‘));

    console.log(dojox.grid.EnhancedGrid.prototype.isPrototypeOf(grid));
    console.log(dojox.grid.DataGrid.prototype.isPrototypeOf(grid));

返回结果为 :

true 

true

EnhancedGrid 和 DataGrid 都是 EnhancedGrid Object 的原型。

 

    grid = new DataGrid({
        id: ‘grid‘,
        store: store,
        structure: layout,
        rowSelector: ‘20px‘});

    console.log(dojox.grid.EnhancedGrid.prototype.isPrototypeOf(grid));
    console.log(dojox.grid.DataGrid.prototype.isPrototypeOf(grid));

返回结果为 : 

false

true

EnhancedGrid 不是 DataGrid Object 的原型,只有 DataGrid 是 DataGrid Object 的原型。

 

所有,可以理解为 EnhancedGrid 是继承于 DataGrid

 

参考 : 

Object.prototype.isPrototypeOf(), mozilla

How to get a JavaScript object‘s class?, stackoverflow 

 

以上是关于dojox.grid.EnhancedGrid 和 dojox.grid.DataGrid 的继承关系的主要内容,如果未能解决你的问题,请参考以下文章

Dojo EnhancedGrid 嵌套排序不起作用

如何将dojo EnhancedGrid的过滤器定义转移到服务器端

如何在增强网格中添加过滤器

没有为 dojo 的 DataGrid 触发事件

& 和 && 区别和联系,| 和 || 区别和联系

第三十一节:扫盲并发和并行同步和异步进程和线程阻塞和非阻塞响应和吞吐等