表格GridPanel概述
ExtJS中的表格功能非常强大,包括了排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。
表格由类Ext.grid.GridPanel定义,继承自Panel,其xtype为grid。ExtJS中,表格Grid必须包含列定义信息,并指定表格的数据存储器Store。表格的列信息由类Ext.grid.Column(以前是由Ext.grid.ColumnModel定义)、而表格的数据存储器由Ext.data.Store定义,数据存储器根据解析的数据不同分为JsonStore、SimpleStroe、GroupingStore等。
下面通过一段代码给大家介绍sencha gridpanel 编辑单元,具体代码如下所示:
{ xtype: \'gridpanel\', region: \'north\', height: 150, title: \'My Grid Panel\', store: \'A_Test_Store\', columns: [ { xtype: \'gridcolumn\', dataIndex: \'Name\', text: \'Name\', editor: { xtype: \'textfield\' } }, { xtype: \'gridcolumn\', dataIndex: \'Content\', text: \'Content\' }, { xtype: \'gridcolumn\', dataIndex: \'Time\', text: \'Time\' } ], plugins: [ Ext.create(\'Ext.grid.plugin.CellEditing\', { clicksToEdit: 1, //点击单元格编辑 listeners: { beforeedit: { fn: me.onCellEditingBeforeEdit, scope: me }, validateedit: { fn: me.onCellEditingValidateedit, scope: me } } }) ] } onCellEditingBeforeEdit: function(editor, e, eOpts) {//动态赋值用.正常情况下不需要该事件. e.record.data[e.field]= \"my test\"; e.value=\"my test\"; e.record.commit(); //提交,不提交无效 } onCellEditingValidateedit: function(editor, e, eOpts) { if(e.row==1) //验证逻辑 { e.cancel=true; //取消 e.record.data[e.field] = e.value; } e.record.commit(); }
下面一段代码是关于sencha gridpanel改变单元格颜色
标题列包含 审核通过则绿色,包含拒绝为红色:
{ xtype: \'gridcolumn\', renderer: function(value, metaData, record, rowIndex, colIndex, store, view) { metaData.tdAttr = \'data-qtip=\"\'+record.data.Content+\'\"\'; if(record.data.Content.indexOf(\'审核通过\')!=-1) { metaData.style=\"color:green\"; } else if(record.data.Content.indexOf(\'拒绝\')!=-1) { metaData.style=\"color:red\"; } return value; } , width: \'*\', dataIndex: \'Title\', text: \'标题\' }
本文地址:https://www.stayed.cn/item/3067
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我