Ext Grid 동적 제거 삭제 tbar 구성 요소
6324 단어 grid
/**
* @include "../../common/Utils.js"
*/
Ext.define('app.view.performance.Home',{
extend:'Ext.window.Window',
alias:'widget.pfhome',
title:'XXXXXX',
modal : true,
constrain:true,
resizable:false,
iconCls: 'jixiaoguanli',
initComponent:function(){
var me = this;
var performanceds = Ext.create('app.store.PerFormances');
var pfrecordds = Ext.create('app.store.PfRecords');
Ext.applyIf(me,{
width:1000,
height:550,
layout:'border',
items:[{
xtype:'treepanel',
region:'west',
store:Ext.create("Ext.data.TreeStore",{
proxy:{
url:'filtertrees/tree',
extraParams:{menuId:'-20'},
type:'ajax',
reader:{
type:'json',
root:'items'
}
},
root:{
id:'tree-root',
text:' ',
expanded:true
},
autoLoad:true,
listeners:{
beforeload:function(store,opt){
var node = opt.node;
if(node.raw){
opt.params.type = node.raw.type;
opt.params.id = node.raw.id;
}
}
}
}),
listeners:{
itemdblclick:function(tp,record,item,index,evt,opt){
var raw = record.raw;
var grid = me.down('performancelist');
if(raw.leaf){//
if(raw.type == "doubledate"){
//show dateselector
}else{
if(raw.type=='month'){
Ext.create('app.view.base.MonthSelector',{
listeners:{
okhandler:function(str){
var params = {};
var vals = record.parentNode.raw||record.raw;
if(vals.cnd=='='){
params[vals.fieldName]=str;
}else if(vals.cnd=='cnd'){
params['sql']=str;
}else{
params['sql']=app.Utils.getSqlBySelect(vals.cnd,vals.fieldName,str);
}
var proxy = grid.getStore().getProxy();
var _url = proxy.url;
grid.getStore().setProxy({
extraParams:params,
url:_url,
type:proxy.type,
reader:proxy.reader
});
grid.getStore().load();
}
}
}).show();
}else{
var params = {};
var vals = record.parentNode.raw||record.raw;
if(vals.cnd=='='){
params[vals.fieldName]=raw.value;
}else if(vals.cnd=='cnd'){
params['sql']=raw.value;
}else{
params['sql']=app.Utils.getSqlBySelect(vals.cnd,vals.fieldName,raw.value);
}
var proxy = grid.getStore().getProxy();
var _url = proxy.url;
grid.getStore().setProxy({
extraParams:params,
url:_url,
type:proxy.type,
reader:proxy.reader
});
grid.getStore().load();
}
}
}
}
},
resizable:true,
width:200
},{
xtype:'container',
region:'center',
layout:'anchor',
defaults:{
anchor:'100%'
},
items:[{
xtype:'performancelist',
height:250,
store:performanceds,
tbar:null,
listeners:{
afterrender:function(g){
g.getStore().load({
params:{empid:me['empid']}
});
return false;
},
itemdblclick:function(view,rec){
pfrecordds.load({
params:{
empid:rec.get('empid'),
sql:(" DATE_FORMAT(`times`,'%Y-%m') = '"+Ext.Date.format(Ext.Date.parse(rec.get('date'),
app.Utils.DATE_FORMAT),'Y-m')+"'")
}
});
return false;
}
}
},{
xtype:'pfrecordlist',
height:267,
store:pfrecordds,
tbar:[{
iconCls: 'add',
text:' ',
_sname:'add',
handler:function(btn){
me.fireEvent('addhandler',me,btn);
}
},'-',{
iconCls: 'drop',
text:' ',
_sname:'remove',
handler:function(btn){
me.fireEvent('removehandler',me,btn);
}
},'-',{
iconCls: 'tuichu',
text:' ',
handler:function(btn){
me.close();
}
}]
}]
}]
});
me.callParent(arguments);
}
});
var view2 = Ext.create('app.view.performance.Home',{
empid:record.get("empid")
});
view2.down("[xtype=container]").down("[xtype=pfrecordlist]").down("[_sname=add]").ownerCt.destroy();
view2.show();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CSS 그리드로 2차원 레이아웃 구축이 기사를 쓰기 전에 나는 1D 레이아웃을 행 또는 열로 만들고 더 구체적으로 다음과 같이 그리드 내부의 요소에 고정 크기를 제공하기 위해 CSS Grid를 사용했습니다. 한 번에 훌륭한 2D 레이아웃을 만드는 데 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.