Ext 3.4.0之学习之路

1. 关于Extjs 3.4.0中提供的xtype以及对应的类:

以下是所有的'xtype'和类的对应关系 
xtype            Class
-------------    ------------------
box              Ext.BoxComponent
button           Ext.Button
buttongroup      Ext.ButtonGroup
colorpalette     Ext.ColorPalette
component        Ext.Component
container        Ext.Container
cycle            Ext.CycleButton
dataview         Ext.DataView
datepicker       Ext.DatePicker
editor           Ext.Editor
editorgrid       Ext.grid.EditorGridPanel
flash            Ext.FlashComponent
grid             Ext.grid.GridPanel
listview         Ext.ListView
panel            Ext.Panel
progress         Ext.ProgressBar
propertygrid     Ext.grid.PropertyGrid
slider           Ext.Slider
spacer           Ext.Spacer
splitbutton      Ext.SplitButton
tabpanel         Ext.TabPanel
treepanel        Ext.tree.TreePanel
viewport         Ext.ViewPort
window           Ext.Window

Toolbar components
---------------------------------------
paging           Ext.PagingToolbar
toolbar          Ext.Toolbar
tbbutton         Ext.Toolbar.Button        (过时的;使用 button)
tbfill           Ext.Toolbar.Fill
tbitem           Ext.Toolbar.Item
tbseparator      Ext.Toolbar.Separator
tbspacer         Ext.Toolbar.Spacer
tbsplit          Ext.Toolbar.SplitButton   (过时的;使用 splitbutton)
tbtext           Ext.Toolbar.TextItem

Menu components
---------------------------------------
menu             Ext.menu.Menu
colormenu        Ext.menu.ColorMenu
datemenu         Ext.menu.DateMenu
menubaseitem     Ext.menu.BaseItem
menucheckitem    Ext.menu.CheckItem
menuitem         Ext.menu.Item
menuseparator    Ext.menu.Separator
menutextitem     Ext.menu.TextItem

Form components
---------------------------------------
form             Ext.form.FormPanel
checkbox         Ext.form.Checkbox
checkboxgroup    Ext.form.CheckboxGroup
combo            Ext.form.ComboBox
datefield        Ext.form.DateField
displayfield     Ext.form.DisplayField
field            Ext.form.Field
fieldset         Ext.form.FieldSet
hidden           Ext.form.Hidden
htmleditor       Ext.form.HtmlEditor
label            Ext.form.Label
numberfield      Ext.form.NumberField
radio            Ext.form.Radio
radiogroup       Ext.form.RadioGroup
textarea         Ext.form.TextArea
textfield        Ext.form.TextField
timefield        Ext.form.TimeField
trigger          Ext.form.TriggerField

Chart components
---------------------------------------
chart            Ext.chart.Chart
barchart         Ext.chart.BarChart
cartesianchart   Ext.chart.CartesianChart
columnchart      Ext.chart.ColumnChart
linechart        Ext.chart.LineChart
piechart         Ext.chart.PieChart

Store xtypes
---------------------------------------
arraystore       Ext.data.ArrayStore
directstore      Ext.data.DirectStore
groupingstore    Ext.data.GroupingStore
jsonstore        Ext.data.JsonStore
simplestore      Ext.data.SimpleStore      (过时的;使用 arraystore)
store            Ext.data.Store
xmlstore         Ext.data.XmlStore

2. 下面是一个简单的分页查询的页面js代码:

 2.1 先是首页显示查询的gridpanel的页面代码:

/**
 * @author: JohnLiu
 * @Date: 13-2-21
 * @Time: 4:52 pm
 */

Ext.MembershipMStream = function(config)
{
    
    var mStore = new Ext.data.JsonStore({
    	autoDestroy: true,
    	proxy: new Ext.data.HttpProxy({
    		method: 'post',
    		url: '../sitestatistics/membershipListData.json'
    	}),
    	root: 'grid.data',
    	totalProperty: 'grid.total',
    	fields: [
    		{name: 'id' ,type: 'float'},
    		'portalData',
    		'province',
    		'area',
    		{name: 'countTime', type: 'date',dateFormat: 'time'},
    		{name: 'yearUv', type: 'float'},
    		{name: 'additionUv', type:'float'},
    		{name: 'spid', type: 'float'}
    		]
    });
    mStore.load();

Ext.MembershipMStream.superclass.constructor.call(this, {
	region:'center',
    loadMask : true,
    store: mStore,
    ddGroup: 'gridToTreeDDGroup',
    enableDragDrop: true,
    columns:[
        {header: '序号',  width: 60,fixed: true ,
        	                          renderer: function(value, metaData ,record , rowIndex, colIndex, store){
        	                          	return store.reader.jsonData.grid.start+rowIndex+1;
         }},
         {header: '门户', dataIndex: 'portalData', sortable: true},
      	 {header: '省份', dataIndex: 'province'},
         {header: '市区', dataIndex: 'area'},
         {header: '时间', dataIndex: 'countTime',
        	                         renderer: Ext.util.Format.dateRenderer('Y-m-d'), width:160 },
         {header: '年度', dataIndex: 'yearUv'},
         {header: 'additionUv', dataIndex: 'additionUv'},
         {header: 'spid', dataIndex: 'spid'}
        ],
        stripeRows: true,
        border:false,
        tbar: new Ext.MembershipMStreamTopToolbar(this),
        bbar: new Ext.PagingToolbar({
        	pageSize: 100,
        	store: mStore,
        	displayInfo: true,
        	listeners: {
        		beforechange  : function(){
        			mStore.setBaseParam('startTime', me.startTime || '');
        			mStore.setBaseParam('endTime', me.endTime || '');
        			mStore.setBaseParam('province', me.province || '');
        			mStore.setBaseParam('portalData', me.portalData || '');
        		}
        	}
        })
    });
};

Ext.extend(Ext.MembershipMStream, Ext.grid.GridPanel);

 2.2 为首页添加的topToolBar的代码:

 

/**
 * @author: 
 * @Date: 13-2-21
 * @Time: 4:52 pm
 */
Ext.MembershipMStreamTopToolbar = function(oGrid)
{
    var me = this;
    var nowDate = new Date();
    var startDate = new Date(nowDate.getFullYear(), nowDate.getMonth()-1, nowDate.getDay()) ;
    
    Ext.MembershipMStreamTopToolbar.superclass.constructor.call(this, {
        enableOverflow: true,
        items: [
            {
                xtype: 'tbtext',
                text: '<span style="color: red;"> *</span>开始年月:'
            },
            {
                xtype: 'datetimefield' , format: 'Y-m-d', 
                maxValue: nowDate, allowBlank: false
                ,value:startDate, id: '_startTime'
            },{xtype: 'tbspacer', width: 10},
            {
                xtype: 'tbtext',
                text: '<span style="color: red;"> *</span>结束年月:'
            },
            {
                xtype: 'datetimefield' , format: 'Y-m-d', 
                maxValue: nowDate, allowBlank: false,
                value: nowDate   ,id: '_endTime'
            },{xtype: 'tbspacer', width: 10},
            {
                xtype: 'tbtext',
                text: '省份:'
            },
            {
            	xtype : 'singleProvinceCombo',
                id:'provinceId'
            },{xtype: 'tbspacer', width: 10},
            {
            	text: '门户',
                cmpId: 'home',
                xtype: 'portalCombox'
            } ,{xtype: 'tbspacer', width: 10},
             {
            	xtype: 'tbtext',
            	text: '渠道ID:',
            	value:"请输入渠道ID" 
            	},
             {
             	xtype: 'textfield'
             },{xtype: 'tbspacer', width: 10},
            {
                text: '查询',
                iconCls: 'search',
                handler: function(oButton, oEvent)
                {
                	var aComponents = me.findByType('textfield');
                    var startTime = aComponents[0].getRawValue();
                    var endTime = aComponents[1].getRawValue();
                    var province = Ext.getCmp('provinceId').getRawValue();
                    var portalData = aComponents[3].getValue();
                    var spidData = aComponents[4].getValue();
                    
                    oGrid.startTime = startTime;
                    oGrid.endTime = endTime;
                    oGrid.province = province;
                    oGrid.portalData = portalData;
                    
                     oGrid.getStore().load({params: {
                    	startTime: startTime,
                    	endTime: endTime,
                    	province: province,
                    	portalData: portalData
                    }});
                    
                }
            }
            ,{xtype: 'tbspacer', width: 10},
            {
            	text:     '图形分析',
            	iconCls:  'search',
                handler: function(oButton, oEvent)
            	{
                  //var parentWindow = new parent.Window.Ext.MembershipMChartTab();
                  var win = new parent.Ext.MembershipMChartTab();
                  win.show();
            	}
            },
            '->',
            {
                text: '帮助',
                iconCls: 'help'
            }
        ]
    });
};

Ext.extend(Ext.MembershipMStreamTopToolbar, Ext.Toolbar);

以上是一个基本的Ext.form.GridPanel的实例显示,还有topToolBar的使用:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值