日期:2014-05-16 浏览次数:20374 次
/** * 默认页面 * * @author leaves.qq:1330771552 */ Ext.define('SupplyManagementDesktop.defaultsWindow', { extend : 'Ext.ux.desktop.Module', requires : ['Ext.data.ArrayStore', 'Ext.util.Format', 'Ext.grid.Panel', 'Ext.grid.RowNumberer', 'Ext.ux.LiveSearchGridPanel'], id : 'defaultsWindow-win', /*************************************************************************** * ExtJS控件使用按照如下规则。 首先,创建控件,调用Ext.create * weightName:空间命名空间,args:空间参数,用{}包围,当做对象传入 * * ####################################### 注意JS中有如下语法: var object={ * paramter1:value1, paramter2:value2, paramter3:value3 } * object.paramter1可以直接获得value1 ##################################### * * ExtJS中所有空间创建方法都如上 * * Ext.create(String weightName,Mixed args) * 所以此处args相当于一个匿名对象(没有引用),但并非真的匿名对象 * */ // 初始化窗体的方法 init : function() { this.launcher = { text : 'Defaults Window', iconCls : 'icon-grid', // 调用createWindow方法 handler : this.createWindow, scope : this // this指向Ext.define(这个方法用来声明命名空间。)定义的命名空间 }; },// 初始化窗体的方法结束 // 创建窗体的方法 createWindow : function() { // 下面进行预定义。就好像C里面的 先定义后使用。不然后定义的在前面使用会认为未初始化。(猜测:可能不跟JS一样,属于ExtJS的语法) var dataPanel;// 预定义一个GridPanel,用来显示数据 var innerPanel;// 存放Panel的容器 var workerPanel; var westPanel; var deptStore; var moduleObj = this;// 创建windows窗体的时获取下本身的环境,此处不能确定,这个this是指向Ext.define还是指向创建的这个窗体 var desktop = this.app.getDesktop(); // 获取窗体,外部最大窗体,具体方法不清楚。 var win = desktop.getWindow('defaultsWindow-win'); // 创建按钮bar组件,是上面的几个按钮。 var buttonBar = Ext.create('Ext.toolbar.Toolbar', { dock : 'top', items : [{ xtype : 'button', text : '新建', iconCls : 'add', handler : function() { // 自行新建操作,传入一个create字符串用来标示是什么按钮事件,传入dataPanel(注意:上面没有var // dataPanel;此处会报错。)因为后面的新建需要用到表格显示的数据(dataPanel.getSelectionModel().getSelection()) moduleObj.proAction("create", dataPanel, workerPanel); } }, { // 分隔符,不解释。 xtype : 'tbseparator' }, { xtype : 'button', text : '删除', iconCls : 'remove', handler : function() { moduleObj.proAction("delete", dataPanel); } }, { xtype : 'tbseparator' }, { xtype : 'button', text : '复制', iconCls : 'copy', handler : function() { moduleObj.proAction("copy", dataPanel, workerPanel); } }, { xtype : 'button', text : '重置检索', iconCls : 'reset', handler : function() { dataPanel.resetSearch(); } }] });// 创建按钮bar组件结束 // 临时创建的一个用来展示的store var theStore = Ext.create('Ext.data.Store', { fields : [{ name : 'projectId', type : 'String' }, { name : 'projectCode', type : 'String'