Gridx入门(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:43 点击:

    {field: 'artist', name: 'Artist'} 
]; 

OK,万事俱备,现在我们可以创建一个简单的grid了:

[javascript]
var grid = new Grid({ 
    cacheClass: Cache, 
    store: store, 
    structure: columns 
}, 'gridNode'); //Assume we have a node with id 'gridNode' 
grid.startup(); 

Gridx继承于dijit._WidgetBase, 因此它支持所有widget的基本特性。
以上创建的grid是一个最基本但可用的grid。我们可以灵活的给它加上很多模块,并且这些模块独立工作,它们之间不会相互冲突。下面一节我们将介绍如何实现这一点。

2. 基本API和API对象
Gridx引入了如下API对象:rows,columns,和cells,可以通过这些对象来操作API。

例如我们可以用如下代码来获得第2行的id:


[javascript]
var id = grid.row(1).id; 
获得位于第1行第2列格子的数据:

[javascript]
var data = grid.cell(0, 1).data(); 
获得第3列的name属性:

[javascript]
var title = grid.column(2).name(); 
以上方法中的grid.row(), grid.cell() 和 grid.column()就是我们所说的API对象。它们只是一套API的容器,本身是没有状态的。因此,我们如果想获得一个cell对象,可用如下代码:

[html]
var cell = grid.cell(0, 0); 
var data1 = cell.data(); 
然后我们改变此cell中的data,再调用:

[javascript]
var data2 = cell.data(); 
则data2中就得到更新过的cell data,而不是data1的值。

如果想要获得列名组成的数组,我们可以使用一个更好的API:

[javascript]
var names = grid.columns().map(function(col){ 
    return col.name(); 
}); 
columns()和rows()方法返回的是API对象数组。这两个方法同样接受指定范围的参数。例如,如果你只想获得前3列的列名,就可以写成:

[javascript]
grid.columns(0, 3); 
如果需要从第2列开始的两列列名,则可以写成:
[javascript]
grid.columns(1, 2); 
获得从第3列开始的后面所有列名:

[javascript]
grid.columns(2); 
返回的数组可以用各种非常有用的数组函数才操作,例如map,filter,forEach,some 以及 every。

我们可以使用API对象来调用模块提供的更多方法。例如,如果加载了sort模块,我们可以这样写:

[javascript]
grid.column(0).sort(); 
下面一些其它常用的API方法:

[javascript]
grid.setColumns(columnStructure);       //Reset the column structure 
   grid.setStore(store);       //Reset store 
   grid.columnCount(); //Faster than grid.columns().length; 
   grid.rowCount();    //Faster than grid.rows().length; 
   grid.resize();  //This is what layout widgets (containers) need. 
模块提供了模块API,它们在底层整合,因此不必担心模块之间会相互影响造成冲突。下一节我们将具体介绍更多关于模块API的内容。

3. 模块
几乎所有的Gridx UI特性都是以模块的方式实现,包括表头,表格体(所有行), 滚动条(横向和纵向滚动条)等。不过这些是核心模块,缺省状态下是自动加载的。非核心模块与EnhancedGrid的插件“plugin”类似,可以根据需要选择要加载的模块。

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Gb2312转utf-8编码的方法(vbs+js)
  • 如何使用Ajax技术开发Web应用程序(1)
  • js跳转路径问题
  • JavaScript模仿桌面窗口
  • 2011年度最佳 jQuery 插件
  • jquery学习笔记---jqGrid学习笔记 完整整理
  • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
  • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
  • 我是如何去了解jquery的(六),案例之幻灯片轮换
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1