项目中用转dojox.grid.DataGrid的几点必知
来源:互联网 发布:nginx 禁止ip频繁访问 编辑:程序博客网 时间:2024/06/12 00:08
项目中使用dojox.grid.DataGrid组件来渲染页面数据,尤其是db记录的查询或是数据源的组成一致的时候。下面把grid的几个基本应用说一下。
做过多年开发,这些数据显示的组件逻辑大都是一样的。通过指定数据源中的field来加载数据源中特定数据列,这样server端的数据就能简单的显示出来了。
1.html页面引入grid。
<div data-dojo-type="dojox.grid.DataGrid"data-dojo-attach-point="defaultGrid" style="width: 100%;"></div>
2.在grid加载完之后,要对grid组件进行数据源的field绑定,并且给grid指定Structrue。
//通过setStructure之后,页面上就可以比较完整的显示grid的结构,除了数据之外。this.defaultGrid.setStructure(this. _layout); this._layout = [ { name : “姓名”, field : 'name', width : '10%' }, { name : “性别”, field : 'sex', width : '15%' }, { name : “年龄”, field : 'age', width : '15%' } ];
如果,想在grid中每一行前面嵌入多选框,则可以这样来做。就是将其他组件嵌入到grid的layout中即可。有些业务上要求,在grid中每行嵌入日期、button执行逻辑操作,也可以通过这种方式来做。
//嵌入多选框 this._layout = [ { type: "dojox.grid._CheckBoxSelector" },{ cells : [ [ { name : “姓名”, field : 'name', width : '10%' }, { name :“性别”, field: 'sex', width: '15%' } ] ]}]; //嵌入日期this._layout = [ { name : “日期”, field : 'date', width : '10%', formatter : formatDate}; varformatDate = function(){ return new *.form.field.DateTimeField({ constraints:{ min:new Date() //限定可选则的最小时间 }, value:new Date() }); };
3.通过加载静态数据源或动态获取数据,将数据封装成特定对象,供grid使用。
_buildWriteStore : function(items) { var store = new dojo.data.ItemFileWriteStore({ data : { id : "id", items : items } }); return store; }, //熟悉Windows编程的同学们也知道,store是这类grid组件必不可少的组成。Var_items = 数据源 ;this.defaultGrid.setStore(this._buildWriteStore(_items));
4.对grid一些常用的操作:
前3点,就是从grid数据显现的准备到数据的获取和显示。如果业务上只要求数据的简单显示,那这样也就可以了。要是还要对数据进行操作,那我们可以自己封装getSelectItem/getSelectItems方法。
getSelectedItem: function(){ var rowIndex; var item; rowIndex= this.defaultGrid.selection.selectedIndex; item= this.defaultGrid.getItem(rowIndex); return item; }, getSelectedItems: function(){ returnthis.defaultGrid.selection.getSelected(); },
其他的常见应用可以查Dojo API,http://dojotoolkit.org/api/ 。
建议大家看dojo 1.6 。
- 项目中用转dojox.grid.DataGrid的几点必知
- dojox.grid.DataGrid 编程篇(3) -- DataGrid的一些Bug
- dojox.grid.DataGrid显示数据
- dojox/grid/DataGrid数据格网
- DojoX DataGrid
- 关于 dojo.data.ItemFileWriteStore & dojox.grid.DataGrid 一个注意事项
- dojox.grid.DataGrid 编程篇(1) -- Layout设计
- dojox.grid.DataGrid 编程篇(2) -- 方法与事件
- dojox.grid.DataGrid 编程篇(一)- 方法与事件
- dojox.grid.data.Objects的一个bug
- Dojox.grid.data 使用指南
- Dojox.grid.data 使用指南
- dojo之dojox.grid.Grid
- dojox/grid/EnhancedGrid数据格网小部件
- dojox
- 项目中用到的
- dojo中的dojox/grid/EnhancedGrid表格报错
- 再来一个SqliteHelper,项目中用的
- android 获取手机GSM/CDMA信号信息
- 移动开发中HTML5能否替代本地程序?
- Ollydbg 中断方法浅探
- problem 16 高精度乘法
- 算法库(三)
- 项目中用转dojox.grid.DataGrid的几点必知
- 算法库(四)
- spring jdbcTemplate的使用说明
- Vmware虚拟机不能正常启动linux,提示8254 timer不能连接到IO-APIC
- Socket policy request process
- 【通信】通信网络基础分类
- 2.asm-asm内联汇编
- 派生类_1
- Java网络爬虫的实现