ext使用

1.treepanel

Ext.onReady(function(){
	var store = Ext.create('Ext.data.TreeStore', {
	    root: {
	        expanded: true,
	        children: [
	            { text: 'detention', leaf: true },
	            { text: 'homework', expanded: true, children: [
	                { text: 'book report', leaf: true },
	                { text: 'algebra', leaf: true}
	            ] },
	            { text: 'buy lottery tickets', leaf: true }
	        ]
	    }
	});

	Ext.create('Ext.tree.Panel', {
	    title: 'Simple Tree',
	    width: 200,
	    height: 200,
	    store: store,
	    rootVisible: false,
	    renderTo: Ext.getBody()
	});
})


2.写的panel

var d1;
var d2;
var d3;
var treePanel;
var clickitem;
var store;
var itemspanel;
var orderby_combo;
Ext.onReady(function() {
	reGetWidthAndHeight();
	orderby_combo = Ext.create('Ext.data.SimpleStore',{ 
        fields:['value','text'],  
		data:[["0","默认排序"],["1","编号正序"],["2","编号倒序"],["3","分类正序"],["4","分类倒序"],["5","名称正序"],["6","名称倒序"]]
	});
	var TreeStore = Ext.create('Ext.data.TreeStore', {
		root : {
			text : '办公用品',
			id : '0',
			expanded : true
		},
		proxy : {
			type : 'ajax',
			method : 'post',
			url : '../zxOfficeInventoryController/getZxOfficeInventoryTree',
			reader : {
				type : 'json'
			},
			extraParams : {
				id : '0',
				type : encodeURI('部门'),
				expanded:true
			}
		}
	});
	itemspanel = Ext.create('Ext.FormPanel',{
		xtype:'form',
		maxHeight:150,
		waitMsgTarget:true,
		defaultType:'textfield',
		autoScroll:true,
		fieldDefaults:{
			labelWidth:70,
			labelAlign:'left',
			flex:1,
			margin:'8 5 4 5'
		},
		layout:'column',
		items:[
		{
			fieldLabel:'名称',
			xtype:'textfield',
			labelWidth:100,
			id:'name',
			name:'name',
			anchor:'30%',
			labelAlign:'left'
		}
		]
	});
	// 2创建treePanel
	treePanel = Ext.create('Ext.tree.Panel', {
		store : TreeStore,
		layout : 'fit',
		width : 350,
		autoEncode : true,
		rootVisible : true,
		expanded:true,
		id:"tree",
		useArrows : collapsibleDefined,
		xtype : 'filtered-tree',
	listeners : {
	beforeitemexpand:function(node,optd){
        var id=node.data.id; 
        var type=node.data.type; 
    },
    'itemclick':function(view,record,item,index,e){
    	var id=record.data.id; 
        clickitem=id;
        click();
    }
}

});

	d1 = Ext.create('Ext.Panel', {
		title : '',
		frame : true,
		width : 270,
		id : "leftPanel",
		items : [ {
			anchor : '100%',
			layout : {
				type : 'hbox',
				padding : '10',
				pack : 'start',
				align : 'top'
			},
			defaults : {
				margins : '0 5 0 0'
			},
			items : [treePanel]
		} ],
		tbar:[
					 {
						text:'添加种类',
						tooltip:'添加',
						minWidth:tbarBtnMinWidth,
						cls:'addBtn',
						icon:addIcon,
						handler:function(){
							addZxOfficeClassify();
						}
					 }
					 ]
	});
	store = getGridJsonStore('../zxOfficeInventoryController/getZxOfficeInventoryListByCondition',[]);
	d3 = Ext.create('Ext.grid.Panel', {
		region:'center',
		title:'查询结果',
		xtype:'panel',
		store:store,
	/*	selType:'cellmodel',*/
		/*flex: 3,*/
		id:"rightPanel",
		height: 500,
		columnLines:true,
		multiSelect:true,
		
		selType:'checkboxmodel',
		viewConfig:{
			emptyText:'暂无数据',
			stripeRows:true
		},
		loadMask:{
			msg:'正在加载...'
		},
		columns:[
					{
						header:'序号',
						width:77,
						xtype:'rownumberer'
					},
					{
						header:'序列号',
						flex:1,
						hidden:true,
						dataIndex:'id'
					},
					{
						header:'办公用品id',
						flex:1,
						hidden:true,
						dataIndex:'office_id'
					},
					{
						header:'名称',
						flex:1,
						dataIndex:'office_name'
					},
					{
						header:'数量',
						flex:1,
						dataIndex:'amount'
					},
					{
				        header:'单位',
				        width:77,
				        flex:1,
				        dataIndex:'office_unit'
			        },
					{
						header:'备注',
						flex:1,
						hidden:true,
						dataIndex:'reason'
					},
					{
				        header:'规格型号',
				        flex:1,
				        dataIndex:'standard'
			        }
				],
			
					tbar:[
					 {
						text:'补充数量',
						tooltip:'添加',
						minWidth:tbarBtnMinWidth,
						cls:'addamountBtn',
						icon:addIcon,
						handler:function(){
							addZxOfficeInventory();
						}
					 },
					 {
							text:'添加用品',
							tooltip:'添加用品',
							minWidth:tbarBtnMinWidth,
							cls:'addBtn',
							icon:editIcon,
							handler:function(){
								addZxOffice();
							}
						 },
					 {
							text:'编辑信息',
							tooltip:'编辑信息',
							minWidth:tbarBtnMinWidth,
							cls:'updateBtn',
							icon:editIcon,
							handler:function(){
								updateZxOffice();
							}
						 },
						 {
							text:'删除',
							tooltip:'删除',
							minWidth:tbarBtnMinWidth,
							cls:'delBtn',
							icon:delIcon,
							handler:function(){
								delZxOffice();
							}
						 },
						  {
							text:'检索',
							tooltip:'检索',
							minWidth:tbarBtnMinWidth,
							cls:'delBtn',
							icon:delIcon,
							handler:function(){
								search();
							}
						 }
				],
		bbar:getGridBBar(store),
		listeners:{
			'rowdblclick':function(d3, rowIndex, e){
				detailZxOffice();
			}
		}
	});
	
		d2 = Ext.create('Ext.Panel', {
		title : '',
		frame : true,
		width : 1000,
		height: 900,
		id : "leftPanel1",
		items : [itemspanel,d3]
		
	});
	/*initSearchForm('north',itemspanel,false,'left');*/
	Ext.create('Ext.Viewport', {
		layout : 'hbox',
		xtype : 'viewport',
		items : [ d1, d2 ]
	});
	initRight();
	
})

/**查询操作**/
function click(){
	initClick(store,'../zxOfficeInventoryController/getZxOfficeInventoryListclick',clickitem);
}

//调用点击方法
function initClick(store,url,clickitem){
	store.load({
		url:url, 
		method:'post',
		params:{
			start:0,
			limit:getGridBBar(store).pageSize,
			searchJson:Ext.encode(clickitem)
		}
	});
}
 
function initRight(){
	var contextmenutreePanel = new Ext.menu.Menu({
		id:'theContextMenutreePanel',
		items:[{
			text:'添加子分类',
			glyph:0xf016,
			id:'addZxOfficeItemd1',
			handler:function(){addZxOfficeClassify();refresh();}
		},
		{
			text:'编辑分类',
			glyph:0xf016,
			id:'updateZxOfficeItemd1',
			handler:function(){updateZxOfficeClassify();}
		},
		{
			text:'删除分类',
			glyph:0xf016,
			id:'delZxOfficeItemd1',
			handler:function(){delZxOfficeClassify();}
		}
		]
	});
	var contextmenud3 = new Ext.menu.Menu({
		id:'theContextMenud3',
		items:[{
			text:'编 辑',
			glyph:0xf044,
			id:'updateZxOfficeItemd3',
			handler:function(){updateZxOffice();}
		},{
			text:'删 除',
			glyph:0xf014,
			id:'delZxOfficeItemd3',
			handler:function(){delZxOffice();}
		},
		{
			text:'补充数量',
			glyph:0xf014,
			id:'addZxOfficeItemdamount',
			handler:function(){addZxOfficeInventory();}
		}]
	});
	initrightgridcontextmenu(treePanel,contextmenutreePanel,['addZxOfficeItemd1','updateZxOfficeItemd1','delZxOfficeItemd1']);
	initrightgridcontextmenu(d3,contextmenud3,['updateZxOfficeItemd3','delZxOfficeItemd3','addZxOfficeItemdamount']);
}
/**删除操作**/
function delZxOffice(){
	var model =d3.getSelectionModel();
	if(model.selected.length == 0){
		msgTishi('请选择后在删除');
		return;
	}
	var office_id;
	for(var i = 0; i < model.selected.length; i++){
		if(null == office_id){
			office_id=model.selected.items[i].data.office_id;
		}else{
			office_id=office_id+","+model.selected.items[i].data.office_id;
		}
	}
	Ext.Msg.confirm('提示','确定删除该行数据?',function(btn){
		if(btn == 'yes'){
			var params = {office_id:office_id};
			ajaxRequest('../zxOfficeController/delZxOffice',d3,params,'正在执行删除操作中!请稍后...');
		}
	});
}

/**删除操作**/
function delZxOfficeClassify(){
	var model = treePanel.getSelectionModel();
	if(model.selected.length == 0){
		msgTishi('请选择后在删除');
		return;
	}
	var classify_id;
	for(var i = 0; i < model.selected.length; i++){
		if(null == classify_id){
			classify_id=model.selected.items[i].data.id;
		}else{
			classify_id=classify_id+","+model.selected.items[i].data.id;
		}
	}
	Ext.Msg.confirm('提示','确定删除该行数据?',function(btn){
		if(btn == 'yes'){
			var params = {classify_id:classify_id};
			ajaxRequest('../zxOfficeClassifyController/delZxOfficeClassify',treePanel,params,'正在执行删除操作中!请稍后...');
		}
	});
}
function refresh(){
	store.on('load',function(){
		d1.expandAll();
	    hideWaitMsg();
    });
}
/**查询操作**/
function search(){
	initSearch(store,'../zxOfficeInventoryController/getZxOfficeInventoryListByCondition',itemspanel);
}


注意看api文件

猜你喜欢

转载自blog.csdn.net/jd16manson/article/details/78729859
ext