ExtJS的简单使用
相比于jquery easyui ,ExtJS显得有点沉重,从官网下载的文档(300多M)就可以看出其包含的文件,功能都是easyui所不能相比的;
废话不多说,马上来看一个简单的demo。
以建立一个的简单的后台管理模板为例子(样式如下):
1、必要的引用
其中local为语言包,resources为ext UI包 , ext-all.js则为核心库,shared则是当涉及多个框架的时候使用。
2、新建一个html测试页面加入必要的引用
<link rel="stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css">
<script type="text/javascript" src="ExtJS/ext-all-debug.js"></script>
3、初始化一个viewpoint
Ext.onReady(function() {
var viewport = Ext.create('Ext.Viewport', {
id: 'border-example',
layout: 'border',
items: [
pnNorth,
pnWest,
pnCenter
]
});
});
viewpoint,顾名思义就是一个页面,其中包含的小页面则是items中显示的东西,这里我们应该先定义好每一个items对应是那种类型的component,一般的管理后台都是上边一个显示欢迎页面Panel,左边是一个下拉树显示所有的菜单Panel,右边则根据鼠标点击左边的哪个菜单莱尼显示不同的页面,对应的是tab.Panel)
接下来就是就是定义每个panel了,共三个north,west ,center,位置则是在属性region中定义;
//首先定义好每个panel中包含什么item
var itemWest_sys=[{
title: 'Management',
itemId:'mgId',
iconCls: 'nav' // see the HEAD section for style used
}, {
title: 'Tiemsheet',
collapsed : false,//default to render it expand,default:true(collapsed)
itemId:'tsId',
html: 'Some settings in here.
',
iconCls: 'settings'
}];
//center item
var itemCenter=[{
title: 'Index',
itemId:'indexId',
autoScroll: true,
html:'<iframe src="main.html" frameBorder=0 ></iframe>'
}];
//初始化每个panel
//region-north
var pnNorth=new Ext.Panel({
id:'pnNorth',
autoWidth:true,
heigth:40,
margins: '0 5 0 10',
padding:'0 0 0 30',
frame:true,
region:'north',
html:'<h1>Hello Timesheet Management System</h1>'
});
//region-west
var pnWest=new Ext.Panel({
id:'pnWest',
region:'west',
title:"west",
split: true,
width: 200,
minWidth: 175,
maxWidth: 400,
collapsible: true,
animCollapse: true,
margins: '0 0 0 10',
layout: 'accordion',
items: itemWest_sys
});
//region-center
var pnCenter=Ext.create('Ext.tab.Panel', {
region: 'center', // a center region is ALWAYS required for border layout
deferredRender: false,
margins: '0 5 0 0',
activeTab: 0, // first tab initially active
items:itemCenter
});
每个panel中还可以包含其他的panel,在items中定义。
例如左边的菜单需要根据数据库返回来的数据进行动态加载:
首先将数据进行组装,然后再调用add()方法进行动态的加入;
var test={title: 'Index',
itemId:'indexId',
autoScroll: true,
closable:true,
html:'<h1>Test for item add</h1>'
};//组转格式
pnAdd.add(test );
4、整个页面的源码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css">
<script type="text/javascript" src="ExtJS/ext-all-debug.js"></script>
<script type="text/javascript">
//--------------系统全局变量-------
//west sys item
var itemWest_sys=[{
title: 'Management',
itemId:'mgId',
iconCls: 'nav' // see the HEAD section for style used
}, {
title: 'Tiemsheet',
collapsed : false,//default to render it expand,default:true(collapsed)
itemId:'tsId',
html: 'Some settings in here.
',
iconCls: 'settings'
}];
//center item
var itemCenter=[{
title: 'Index',
itemId:'indexId',
autoScroll: true,
html:'<iframe src="main.html" frameBorder=0 ></iframe>'
}];
//添加树-------data tree test
var tree_include = 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 }
]
}
});
var tree=Ext.create('Ext.tree.Panel', {
title: 'Simple Tree',
itemId:"treeId",
width: 200,
height: 150,
store: tree_include,
rootVisible: false,
renderTo: Ext.getBody()
});
//region-north
var pnNorth=new Ext.Panel({
id:'pnNorth',
autoWidth:true,
heigth:40,
margins: '0 5 0 10',
padding:'0 0 0 30',
frame:true,
region:'north',
html:'<h1>Hello Timesheet Management System</h1>'
});
//region-west
var pnWest=new Ext.Panel({
id:'pnWest',
region:'west',
title:"west",
split: true,
width: 200,
minWidth: 175,
maxWidth: 400,
collapsible: true,
animCollapse: true,
margins: '0 0 0 10',
layout: 'accordion',
items: itemWest_sys
});
//region-center
var pnCenter=Ext.create('Ext.tab.Panel', {
region: 'center', // a center region is ALWAYS required for border layout
deferredRender: false,
margins: '0 5 0 0',
activeTab: 0, // first tab initially active
items:itemCenter
});
//Ext.require(['*']);
Ext.onReady(function() {
var viewport = Ext.create('Ext.Viewport', {
id: 'border-example',
layout: 'border',
items: [
pnNorth,
pnWest,
pnCenter
]
});
});
//函数---------添加item---------
function addItem(itAdd,pnAdd){
var rtn=pnAdd.getComponent(itAdd.itemId);
if(rtn==null){
pnAdd.add(itAdd);
}else{
pnAdd.setActiveTab(rtn);
}
}
/* var test={title: 'Index',
itemId:'indexId',
autoScroll: true,
closable:true,
html:'<h1>Test for item add</h1>'
};
addItem(test,pnCenter);
addItem(test,pnWest); */
</script>
<title>Welcome to Hello Timesheet Management System</title>
</head>
<body>
<div id="west" class="x-hide-display">
Hi. I'm the west panel.
</div>
<div id="center1" class="x-hide-display">
I can close ;I am pennal One
</div>
<div id="props-panel" class="x-hide-display" style="width:200px;height:200px;overflow:hidden;">
</div>
</body>
</html>
以上就是使用ExtJS制作的一个简单的后台管理模型;
好好看API,好好研究example,好好制作demo;
Have a nice day~
- 大小: 16 KB
- 大小: 10.7 KB
分享到:
相关推荐
extjs4.0结合My97DatePicker4.7版本使用 使用简单 方便 解决extjs中日期控件不能显示时间的问题 下载后将其放到extjs目录的examples下 直接运行date.html即可 extjs4.0版本 4.0以前的版本没有测试过 如果有4.0版本...
5. **简单示例**: 在提供的代码示例中,`Ext.MessageBox.alert`函数被用来显示一个警告对话框,这是EXT中的一个基础组件,展示了如何在实际应用中使用EXT的API。 6. **页面结构**: 示例HTML模板中,`@ViewBag`...
只要将解压的文件直接放置到myeclipse的webroot下面,启动tomcat访问。简单的EXTJS mvc框架,设计 store,model,controller,view,window等等,同时展示了一些基本的点击显示、修改等等操作,需要的同学自行下载
资源名称:Extjs的简单使用手册 中文PPT版 内容简介:本文档主要讲述的是Extjs的简单使用手册;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看 资源截图: 资源太大,传百度网盘了,链接在附件...
总之,通过学习这个教程,初学者可以掌握ExtJS 2.0的基本操作,建立起对组件化开发的理解,并能动手构建简单的Web应用。虽然版本相对较旧,但理解基础原理对于升级到更高版本或是学习其他前端框架都非常有帮助。随着...
在“简单的增删改查”这个主题中,我们将探讨如何使用ExtJS实现数据管理的基本操作,包括添加(Add)、删除(Delete)、修改(Update)和查询(Query)。 首先,我们需要了解ExtJS的核心概念,如组件(Components)...
在这个“EXTJS简单分页例子”中,我们将深入探讨EXTJS如何实现分页功能,以及如何与后台进行交互。 分页是Web应用中常见的数据展示方式,尤其在处理大量数据时,它可以提高页面加载速度并提供良好的用户体验。EXTJS...
总结来说,ExtJS 4.2 Desktop 拓展是一个集成了多种桌面特性并优化了基础框架的解决方案,它提供了图标换行、窗口拖动、多级开始菜单等功能,使得开发复杂的Web应用变得更加简单和直观。通过下载提供的LinBDesk4.2...
ExtJS的事件系统使得绑定和处理这些事件变得简单。 7. **可视化编辑**:为了提高用户体验,设计器通常会提供撤销/重做、选择、复制/粘贴等可视化编辑功能。这些可以通过ExtJS的命令模式和组件方法实现。 8. **验证...
《Extjs简单版酒店管理系统详解》 ExtJS是一款强大的JavaScript框架,用于构建富客户端Web应用程序。它提供了丰富的组件库和灵活的布局管理,使得开发者能够快速构建出功能丰富的交互式界面。本文将深入探讨如何...
9. **部署**:最后,将构建后的文件部署到服务器,用户就可以通过浏览器访问并使用你的EXTJS应用了。 EXTJS的学习曲线相对较高,但一旦掌握,就能创建出功能强大且美观的Web应用。在实际开发中,还需要熟悉MVC设计...
【标题】:使用Extjs构建的简易酒店管理系统 在IT行业中,开发用户界面时经常会用到JavaScript库,其中ExtJS是一个强大的前端框架,用于构建功能丰富的、交互式的Web应用程序。本项目“使用Extjs写的简单酒店管理...
总的来说,"extJS 一些简单实例"这个主题涵盖了使用ExtJS进行Web开发的基础知识,包括组件、数据绑定、应用配置等方面,适合初学者入门和进阶者巩固。通过学习和实践这些实例,开发者可以掌握创建交互式Web界面的...
- 示例中的 `tpl1` 定义了一个简单的表格,包含姓名和年龄两列,使用 `for` 循环遍历数据并填充到表格中。 2. **自定义格式化函数**: - `Ext.Template` 类允许你定义自己的格式化函数,如 `tpl2` 示例中,通过 `...
【标题】"asp.net Coolite-ExtJs简易新闻后台管理系统源码"是一个基于ASP.NET技术栈,结合Coolite和ExtJs框架开发的轻量级新闻管理系统的源代码实现。这个系统设计用于帮助管理员便捷地管理和发布新闻内容,适用于...
在“extjs + asp.net简单示例”中,我们将看到EXTJS如何与微软的asp.net后端技术结合,共同完成一个Web应用。 在ASP.NET中,开发者通常使用C#或VB.NET编写服务器端代码,处理数据、业务逻辑以及与数据库的交互。而...
在本概述中,我们将深入探讨如何在项目中引入并使用ExtJS 5.0 Mini,以及灰色主题(gray)的配置。 首先,让我们了解如何将ExtJS 5.0 Mini引入到项目中。通常,你需要在HTML文件的`<head>`部分添加对ExtJS库的引用...
ExtJS是一个广泛使用的JavaScript库,专门用于构建富客户端应用程序。版本3.3是该库的一个稳定版本,提供了许多功能和组件,使得Web开发者能够创建功能丰富的、交互性强的用户界面。这个“ExtJS3.3中文API.CHM”文档...
"extjs 简单表格"这个主题,我们将探讨如何在ExtJS中创建和使用基本的表格。 首先,我们需要理解ExtJS表格的基本结构。表格由多个部分组成,包括Store(数据存储)、Model(数据模型)、Column Model(列模型)和...
它允许通过简单的JSON配置或编程方式来创建图表,可以轻松地集成到Web应用程序中,无论使用的是PHP、ASP.NET还是其他后端技术。 ExtJS则是一个完整的前端框架,它提供了一整套构建企业级应用的工具,包括布局管理、...