Extjs5 Gridpanel
来源:互联网 发布:柯桥区干部网络 编辑:程序博客网 时间:2024/05/16 10:11
表格
定义
/*** */Ext.define("whrsmart.crm.users.ListView", { extend:'Ext.grid.Panel',closable : true,autoShow : true,autoScroll:false,scroll:true, requires:['whrsmart.crm.users.ListController','whrsmart.crm.users.ListViewModel','whrsmart.crm.users.AddView'], controller:'crm-users-List', viewModel:{type:'crm-users-List'}, bind:'{listStore}', tbar: [ { xtype: 'button', text: ' 新增 ',handler:'onAddClick' } ], dockedItems: [{ bind:'{listStore}',xtype: 'pagingtoolbar',displayInfo: true,displayMsg: '当前页面' + ' {0} - {1} 总页面 {2} ',emptyMsg:'没有数据', dock: 'bottom' }], constructor : function(config) { //this.initConfig(config); this.id=config.tabId; this.callParent(config); }, columns: [ {xtype: 'rownumberer'}, { text: 'userId', dataIndex: 'userId', align: 'center',hidden:true ,flex:1} { xtype:'actioncolumn',width:X_WIDTH.Operate,text:'操作',align:'center',items: [ {iconCls:'grid_row_edit',tooltip: '修改',handler: 'onEditClick'}, {iconCls:'grid_row_delete',tooltip: '删除',handler: 'onDelClick'} ] } ]});
加入复选框
列定义:
cols:[ { xtype : 'checkcolumn', text : '选择', dataIndex : 'active' }, { text: 'id', dataIndex: 'id', width: 100, align: 'center', hidden: false } ],
获取复选框选择的行
var selected = grid.getView().getSelectionModel().getSelection();var _ids = "";Ext.each(selected, function (item) { if (_ids != "") _ids += ","; _ids += item.data.id; });
加入行号:
columns: [ {xtype: 'rownumberer'}, { text: 'userId', dataIndex: 'userId', align: 'center',hidden:true ,flex:1} ]
使用
columns:[Ext.create(‘Ext.grid.RowNumberer’)]
也可以,但不能自动销毁。
加载事件及改变背景颜色
grid.getStore().on('load',function(s,records){ var girdcount=0; s.each(function(r){ console.log(r.get('title')); grid.getView().getRow(girdcount).style.backgroundColor='#FFFF00'; girdcount=girdcount+1; }); });
使用viewModel绑定的store,可以这样写
listeners: { load: function(pnl,eOpts) { if (pnl.getRootNode().hasChildNodes()) { pnl.each(function(r){ console.log(r); //r.data.operations='efg'; }); } else { console.log('no childs'); } } },
修改单元格的值
var models=grid.store.getRange();models[0].set('title','newvalue');
reader修改单元格的值
/*** */Ext.define("whrsmart.km.contents.ListReader", { extend : 'Ext.data.reader.Json', alias: 'reader.km-contents-List', type:'json', rootProperty:'d.Table.rows', totalProperty:'d.Records',// read:function(response){// var data = response;//// if (response && response.responseText) {// data = this.getResponseData(response);// }//// if (data) {// //CUSTOM MODIFY AND DATA MERGING FOR MODEL USE// for (var item in data.d.Table.rows) {// data.d.Table.rows[item].typeId=999;// }// // console.log(data);// return this.readRecords(data.d.Table.rows);// } else {// return this.nullResultSet;// }// } getResponseData : function(response) { var data = Ext.decode(response.responseText); var obj = {}; Ext.Ajax.request({ url:_app_+'/rest/Km/S_Km_Types/GetLists/?page=1&rows=5000', method:'get',async:false, success: function(resp,opts) { var json = Ext.util.JSON.decode(resp.responseText); Ext.each(json.d.Table.rows, function (item) { obj['type_'+item['typeId']] = item; }); }, failure: function(resp,opts) { } }); for (var item in data.d.Table.rows) { data.d.Table.rows[item].typeTitle=obj['type_'+data.d.Table.rows[item].typeId].typeTitle; } return data; }});
引用grid
view
Ext.define("test1.crm.users.AddView", { extend : 'Ext.window.Window', requires : [ 'test1.crm.users.AddController' ,'whrsmart.crm.userDevices.ListViewForUser'], width : 850,autoheight:true,controller : 'crm-users-Add',bodyPadding : 10,modal:true,grid:null, closable : true, autoShow : true, title:'用户信息', referenceHolder: true, items: { xtype: 'panel', items: [{xtype:'form',reference:'form',layout:"form",autoHeight: true,columnWidth:.50, items:[ {xtype:'crm-userDevices-ListViewForUser',closable:false,height:100,columnWidth:.50,reference:'form1'} ] } });
grid
Ext.define("test1.crm.users.AddController", { extend : 'Ext.app.ViewController', alias : 'controller.crm-users-Add', requires:['test1.util.Util'], onAfterrender:function(view,a,b,c,d){ var form=this.lookupReference('form'); var list=view.query ('crm-userDevices-ListViewForUser')[0]; console.log(list.viewModel); var store=list.viewModel.storeInfo.listStore; var proxy=store.proxy; proxy.extraParams={"userId":view.record.data.userId}; setTimeout(function(){ store.load(); },500); var _formpanel=view.down('form'); if(view.record.data.userId>0){ _formpanel.loadRecord(view.record); } }});
0 0
- Extjs5 Gridpanel
- Extjs5 GridPanel的标题和内容不能对齐的解决办法
- [ExtJS5学习笔记]第二十三节 Extjs5中表格gridpanel的列格式设置
- [ExtJS5学习笔记]第二十四节 Extjs5中表格gridpanel或者表单数据后台传输remoteFilter设置
- [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总
- 使用ExtJS5 GridPanel实现表格嵌套SubGrid(基于ExtJS MVC模式)
- 扩展GridPanel
- 扩展GridPanel
- GridPanel 弹窗
- GridPanel显示
- ExtJS GridPanel
- GridPanel分页
- 动态GridPanel
- extjs gridpanel
- EXTJS5 入门指南
- Extjs5.0新特性
- extjs5.0入门教程
- extjs5 更改主题
- 修改表
- 关于python的编码问题和raw_input的乱码问题
- Android 四大组件之一BroadcastReceiver
- JavaEE-Hibernate笔记
- 指针作为函数参数传递
- Extjs5 Gridpanel
- 超简单拼图实现
- python之字符串格式化(format)
- 一位开发者的 Linux 容器之旅
- hdu 4939 Stupid Tower Defense dp
- Extjs xtypes 常见示例
- 百度校招小结:我做技术面试官的一些思考
- 第11条:谨慎地覆盖clone
- Android之Paint属性介绍