日期:2014-05-16 浏览次数:20486 次
各位同仁讨论下ext的使用情况
?
目前我知道的有三种方案
?
第一种应该是使用最多的,就是使用ext部分的组件 比如 formpanel gridpanel? messagebox 等等
这样的好处是界面能够得到美工的美化,大家都知道extjs的界面使人有产生了审美疲劳
?
第二种
就是首先viewport? 建构基本框架
通过左边的树 点击节点node 的id?加载对应写好了的 js文件
?
?
首页都是这样的
<div id="tabs" style="margin:15px 0;"> <!-- 提醒短信发送查询 --> <div id="tab_Sms_cdrSearch"> <div id="tab_sms_left"><div> <div id="tab_sms_right"><div> </div> <!-- 黑名单用户查询 --> <div id="tab_BlackUserSerach"> <div id="tab_Black_left"><div> <div id="tab_Black_right"><div> <div id="tabs" style="margin:15px 0;"> <!-- 提醒短信发送查询 --> <div id="tab_Sms_cdrSearch"> <div id="tab_sms_left"><div> <div id="tab_sms_right"><div> </div> <!-- 黑名单用户查询 --> <div id="tab_BlackUserSerach"> <div id="tab_Black_left"><div> <div id="tab_Black_right"><div> </div> <!-- PUSH短息发送查询 --> <div id="tab_Push_cdrSearch"> <div id="tab_Push_left"><div> <div id="tab_Push_right"><div> </div> <!-- 用户提取彩信发送查询 --> <div id="tab_MmsgetSearch"> <div id="tab_get_left"><div> <div id="tab_get_right"><div> </div> </div> <!-- PUSH短息发送查询 --> <div id="tab_Push_cdrSearch"> <div id="tab_Push_left"><div> <div id="tab_Push_right"><div> </div> <!-- 用户提取彩信发送查询 --> <div id="tab_MmsgetSearch"> <div id="tab_get_left"><div> <div id="tab_get_right"><div> </div>
?
这里div 的id 对应 左边树node 的id
?
?
点击树的时候
执行下面的js
?
function importJS(src) { src=src.replace(/\./g,'\/'); jpath=src+'.js'; for(var i=0;i<document.getElementsByTagName('script').length; i++){ if(document.getElementsByTagName('script').item(i).src== jpath){ return ; } } var headerDom = document.getElementsByTagName('head').item(0); var jsDom = document.createElement('script'); jsDom.type = 'text/javascript'; jsDom.src = jpath; headerDom.appendChild(jsDom); }
?
function onClickTreeNode(node) { if (node.getDepth() > 0) { var n = Ext.mypanels.contentPanel.getComponent(node.id); // alert(node.id); // alert(!n); if (!n) { // 判断是否已经打开该面板 // alert("添加"); importJS('lib.main.'+node.id); n = Ext.mypanels.contentPanel.add({ 'id' : node.id, 'title' : node.text, contentEl : 'tab_'+node.id, closable : true, iconCls : 'tabs' }); } Ext.mypanels.contentPanel.setActiveTab(n); } }
?
<!--StartFragment -->?
?
第三种
?
完全是面向对象的编写方式,这对程序员的要求相当高的
都是通过继承ext的各种panel编写自己的panel
点击左边树的时候都是生产对象的方式生产页面
?
?
?
?
?
?