ExtJs 之GridPanel实例2
2013-02-19 17:30
85 查看
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> <script type="text/javascript" src="../ext-3.4.0/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../ext-3.4.0/ext-all.js"></script> <link href="../ext-3.4.0/resources/css/ext-all.css" rel="stylesheet" type="text/css"> </head> <body> <div id="grid-div"></div> <div id="binding-example" ></div> <script> function checkSex(val) { if(val=='0') { return '<span style=\"color:blue\">男</span>'; } else { return '<span style=\"color:green\">女</span>'; } } Ext.onReady(function(){ var cm = new Ext.grid.ColumnModel([ //设置好表的列头 {header:'编号',dataIndex:'id',sortable:true}, //{首部显示文本,列对应的记录集字段,列是否排序(sortable)} {header:'名称',dataIndex:'name'}, {header:'描述',dataIndex:'descn'}, {header:'性别',dataIndex:'sex',sortable:true,renderer:checkSex},//renderer就是在读取该字段前执行的函数 { header:'出生日期',dataIndex:'birthdate',renderer:Ext.util.Format.dateRenderer('m/d/Y')}, { xtype: 'actioncolumn', width: 50, items: [{ icon : '../ext-3.4.0/examples/shared/icons/fam/delete.gif', // Use a URL in the icon config tooltip: 'Sell stock', handler: function(grid, rowIndex, colIndex) { var rec = ds.getAt(rowIndex); alert("Sell " + rec.get('name')); } }] } ]) ; var data = [ ['1','张三','descn1','0','9/12 12:00am'], ['2','李四','descn2','1','9/12 12:00am'], ['3','王五','descn3','0','9/12 12:00am'], ['4','赵六','descn4','1','9/12 12:00am'], ['5','孙奇','descn5','0','9/12 12:00am'] ] ; var ds = new Ext.data.Store({ proxy:new Ext.data.MemoryProxy(data),//获取数据的方式 (用Ext.data.MemoryProxy专门解析JavaScript变量) reader:new Ext.data.ArrayReader({},[ //如何解析这堆数据 {name: 'id' }, {name: 'name' }, {name: 'descn' }, {name:'sex' }, {name:'birthdate',type:'date',dateFormat: 'n/j h:ia'} ]) }) ;//远程读取数据使用ScriptTagProxy 如要从本地读取数据 需要将MemoryProxy改成PagingMemoryProxy ds.load() ;//加载数据 var grid = new Ext.grid.GridPanel({ el:'grid-div', ds: ds, //ds可以把任何格式的数据转化成grid可以使用的形式 cm: cm, sm: new Ext.grid.RowSelectionModel({singleSelect: true}), width:505, height:233 }) ; grid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { var detailPanel = Ext.getCmp('detailPanel'); bookTpl.overwrite(detailPanel.body, r.data); }); grid.render() ; //注意这些文件是有顺序的,最好放在render()下面,否则就运行不出来上面的内容 var ct = new Ext.Panel({ renderTo: 'binding-example', frame: true, title: 'Book List', width: 540, height: 400, layout: 'border', items: [ grid, { id: 'detailPanel', region: 'center', bodyStyle: { background: '#ffffff', padding: '7px' }, html: 'Please select a book to see additional details.' } ] }) // define a template to use for the detail view var bookTplMarkup = [ 'id: <a href="" target="_blank">{id}</a><br/>', 'name: {name}<br/>', 'descn: {descn}<br/>', 'birthdate: {birthdate}<br/>' ]; var bookTpl = new Ext.Template(bookTplMarkup);//创建一个模版 }) ; </script> </body> </html>
相关文章推荐
- extjs-gridPanel面板-实例
- ExtJs GridPanel 完整实例
- ExtJs 之GridPanel实例
- ExtJs之gridPanel实例
- extjs GridPanel的列中加入按钮
- Extjs GridPanel load超时问题
- Extjs学习 Ext.grid.GridPanel
- ExtJS GridPanel 根据条件改变字体颜色
- ExtJS GridPanel根据条件改变字体颜色
- ExtJs之GridPanel、FormPanel综合篇
- (Extjs)GridPanel中不允许选择某行或不允许取消某行修改
- extjs 3.4 EditorGridPanel里日期控件在后台获取格式为"2015-10-10T00:00:00"的问题解决
- ExtJS4.2实例:表格(Grid)含联动的下拉列表(Combobox)
- ExtJs GridPanel 生成列
- 与ASP.NET服务器端结合返回JSON数据实现ExtJS GridPanel客户端分页
- ExtJs中获得(GridPanel)选中的当前选中行号
- Extjs GridPanel 合计功能 解决滚动条滚动问题和页面刷新滚动条回到初始位置问题。
- Extjs中 关于treePanel的demo实例
- ExtJs表单组件查询LiveSearchGridPanel(一)
- [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)