xxx= Ext.extend(Ext.grid.GridPanel, {
id : 'xxx',
stripeRows : true,
region : 'center',
exportJsonStr: null,
loadMask : {
msg : 'Please Wait...'
},
sm : new Ext.grid.RowSelectionModel(),
autoScroll : true,
initComponent : function() {
this.store = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : 'xxxx?11111=11111'
}),
reader : new Ext.data.JsonReader({
totalProperty : 'totalProperty',
root : 'msg'
}, []
),
listeners : {
'beforeload' : function(msgDetailStore) {
Ext.apply(msgDetailStore.baseParams, {
msg : Ext.getCmp('xxxDetailWindow').msg
});
},
load : function(store, records, options) {
// 空数据提示
if (Ext.isEmpty(records)) {
Ext.QuickMsg.show('提示', '没有查询到相关数据',
'250px', 2, Ext.getBody(), [10, 200],
't-t', true, true);
} else {
/**
* 判定单元格,设置单元格告警样式
*/
var gridPanel = Ext.getCmp('xxx');
AddCellCls(gridPanel, records);
}
},
metachange : function(store, meta) {
/**
* 根据meta动态生成列
*/
var fields = meta.fields;
var config = [];
for (var i = 0; i < fields.length; i++) {
var field = fields[i];
var name = field.name;
// 判断某些列需要添加隐藏属性, hidden:true
if (name == 'xx' || name == 'xx') {
config.push({
header : name,
hidden: true,
dataIndex : name,
align : 'center',
width : 80
});
}else{
config.push({
header : name,
dataIndex : name,
align : 'center',
width : 120
});
}
// 刷新列
var gridPanel = Ext.getCmp('xxx');
gridPanel.getColumnModel().setConfig(config);
}
}
}
});
// 根据meta动态生成列,参见store的metachange函数
this.cm = new Ext.grid.ColumnModel({
defaults : {
sortable : true
},
columns : []
});
this.bbar = new Ext.PagingToolbar({
pageSize : 1000,
store : this.store,
firstText : '第一页',
nextText : '下一页',
prevText : '上一页',
refreshText : '刷新',
lastText : '最后一页',
displayInfo : true,
displayMsg : '显示第 {0} - {1}条记录 共{2}条记录',
emptyMsg : '没有数据', // 下面为分页插件代码
// plugins : new Ext.ux.ProgressBarPager(),
listeners : {
beforechange : function(toolBar, params) {
// 数据加载遮罩
var myMask = new Ext.LoadMask(
Ext.get('xxx'),
{
msg : "Please wait...",
store : this.store
}
);
myMask.show();
}
}
});
xxx.superclass.initComponent.call(this);
}
});
Ext.reg('xxx', xxx);