EXTJS入门教程及其框架搭建

article/2025/11/5 22:55:11

EXTJS是一个兼容AJAX的前台WEB UI的框架,在普通的HTML文件的 BODY 元素中无须写任何HTML代码,就能产生相应的表格等元素。

原创不易,转载请注明出处:EXTJS入门教程及其框架搭建

代码下载地址:http://www.zuidaima.com/share/1724474768788480.htm

首先是为每一个页面定义一个类,再以EXTJS的规范格式增加所需的元素,可以使用所见所得的工具:extbuilder 来操作,这个类将以XXXXX.js的文件名保存,最后在相应的HTML页面中引入相关的JS和CSS文件:

1 <script type=" text/javascript " src="/EXTJS/ext-2.2/adapter/ext/ext-base.js "></script>
2 <script type=" text/javascript " src="/EXTJS/ext-2.2/ext-all-debug.js "></script>
3 <link rel=" stylesheet " type=" text/css " href=" /EXTJS/ext-2.2/resources/css/ext-all.css " />
4 <script type=" text/javascript " src= "XXXXX.js "></script>

并在BODY中加入下面这段JAVA SCRIPT:

01 <script>
02  Ext.onReady( function () {
03  Ext.QuickTips.init();
04  Ext.form.Field.prototype.msgTarget='side';
05  var viewport=new Ext.Viewport( {
06  layout : 'fit',
07  border : false,
08  items : [new system.XXXXX()]
09  });
10  viewport.render();
11  });
12  </script>

其中XXXXX就是之前新加的JS类,则EXT引擎就会以一定的非常漂亮的样式渲染出页面来,并且以后的页面风格要改变,只须更换CSS即可,无须改动页面。

附完整的代码:
PagingGridPanel.js

001 Ext.namespace('system');
002 system.PagingGridPanel = function(config) {
003     Ext.applyIf(this, config);
004     this.initUIComponents();
005     system.PagingGridPanel.superclass.constructor.call(this);
006     this.loadData();
007 };
008 Ext.extend(system.PagingGridPanel, Ext.Panel, {
009     initUIComponents : function() {
010         // BEGIN OF CODE GENERATION PARTS, DON'T DELETE CODE BELOW
011         this.store1 = new Ext.data.Store({
012             proxy : new Ext.data.MemoryProxy({
013                 total : 2,
014                 root : [{
015                     age : 56,
016                     name : "IOyFo"
017                 }, {
018                     age : 239,
019                     name : "87tPp"
020                 }]
021             }),
022             reader : new Ext.data.JsonReader({
023                 root : "root",
024                 total : "total",
025                 id : "id"
026             }, [{
027                 mapping : "name",
028                 name : "name"
029             }, {
030                 type : "int",
031                 mapping : "age",
032                 name : "age"
033             }])
034         });
035  
036         this.gridPanel1 = new Ext.grid.GridPanel({
037             bbar : new Ext.PagingToolbar({
038                 xtype : "paging",
039                 emptyMsg : "No data to display",
040                 displayMsg : "Displaying {0} - {1} of {2}",
041                 store : this.store1
042             }),
043             selModel : new Ext.grid.RowSelectionModel({}),
044             columns : [{
045                 header : "name",
046                 dataIndex : "name",
047                 sortable : true,
048                 hidden : false
049             }, {
050                 header : "age",
051                 dataIndex : "age",
052                 sortable : true,
053                 hidden : false
054             }],
055             store : this.store1,
056             height : 200,
057             tbar : new Ext.Toolbar([{
058                 handler : function(button, event) {
059                     this.onButtonClick(button, event);
060                 }.createDelegate(this),
061                 text : "button"
062             }, {
063                 handler : function(button, event) {
064                     this.onButtonClick(button, event);
065                 }.createDelegate(this),
066                 text : "button2"
067             }])
068         });
069  
070         Ext.apply(this, {
071             items : [this.gridPanel1]
072         });
073         // END OF CODE GENERATION PARTS, DON'T DELETE CODE ABOVE
074     },
075     loadData : function() {
076         this.store1.load();
077     },
078     onButtonClick : function(button, event) {
079         this.store1 = new Ext.data.Store({
080             proxy : new Ext.data.MemoryProxy({
081                 total : 2,
082                 root : [{
083                     age : 56,
084                     name : "88888"
085                 }, {
086                     age : 239,
087                     name : "99999"
088                 }]
089             }),
090             reader : new Ext.data.JsonReader({
091                 root : "root",
092                 total : "total",
093                 id : "id"
094             }, [{
095                 mapping : "name",
096                 name : "name"
097             }, {
098                 type : "int",
099                 mapping : "age",
100                 name : "age"
101             }])
102         });
103         this.store1.reload();
104     }
105 });

index.html

01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
02 <html xmlns="http://www.w3.org/1999/xhtml">
03 <head>
04 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
05  <script src="http://cdn.bootcss.com/extjs/3.4.1-1/adapter/ext/ext-base.js"></script>
06  <script src="http://cdn.bootcss.com/extjs/3.4.1-1/ext-all-debug.js"></script>
07 <link href="http://cdn.bootcss.com/extjs/3.4.1-1/resources/css/ext-all.css" rel="stylesheet"/>
08  <script type="text/javascript" src="PagingGridPanel.js"></script>
09 </head>
10 <body>
11 <script>
12     Ext.onReady(function() {
13         Ext.QuickTips.init();
14         Ext.form.Field.prototype.msgTarget = 'side';
15         var viewport = new Ext.Viewport( {
16             layout : 'fit',
17             border : false,
18             items : [new system.PagingGridPanel()]
19         });
20         viewport.render();
21     });
22 </script>
23  
24 </body>
25 </html>

项目截图

项目截图

运行截图

 



http://chatgpt.dhexx.cn/article/Cm5yt8W9.shtml

相关文章

EXTJS详细教程

布局和容器 普通布局 Ext.create(Ext.panel.Panel, {renderTo: Ext.getBody(),width: 400,height: 300,title: Container Panel,items: [{xtype: panel,title: Child Panel 1,height: 100,width: 75%}, {xtype: panel,title: Child Panel 2,height: 100,width: 75%}] });列布…

国嵌视频,买了就是坑

国嵌买视频的&#xff0c;更新慢&#xff0c;谁敢抱怨&#xff0c;踢你&#xff0c;锁你账号&#xff0c;真无语&#xff0c;安卓没录完&#xff0c;3月拖到6月&#xff0c;拖到10月&#xff0c;引起公愤了&#xff0c;就说送路由视频&#xff0c;结果路由视频还没录呢&#xf…

【我爱嵌入式】

童鞋们 自动化嵌入式复习 总结了期末考试简答题的内容 第一章 嵌入式的定义 以应用为中心&#xff0c;以计算机技术为基础&#xff0c;软硬件可裁剪&#xff0c;对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统主要由嵌入式微处理器、外围硬件设备…

嵌入式教程:什么是嵌入式?

每每有小白接触嵌入式时&#xff0c;总认为是装修风格的一种&#xff0c;类似嵌入式壁炉之类的&#xff0c;而一些有过了 解的朋友可能会以为嵌入式教程就是教单片机的&#xff0c;学习后才发现单片机只是基础。 简单来说&#xff0c;嵌入式就是需要嵌入某些东西里面&#xff…

国嵌视频学习笔记---linux内核开发1

一、linux内核简介 1.linux系统由两部分组成&#xff1a;内核空间和用户空间。 2.用户空间包括&#xff1a;用户应用程序和C库 3.内核空间包括&#xff1a;系统调用接口、内核和体系结构相关代码。 4.ARM处理器7种工作模式&#xff1a;用户模式&#xff0c;快速中断模式、外…

国嵌学习——ARM

从NOR启动&#xff1a;在片选0位置放置的是2M的nor flash&#xff0c;在片选6位置放置的是内存0x30000000 ARM工作模式 ARM处理器的运行模式可以通过软件改变&#xff0c;也可以通过外部中断或异常处理改变。应用程序运行在用户模式下&#xff0c;当处理器运行在用户模式下时&…

国嵌C语言(6-10)

国嵌六&#xff1a; 空结构体的内存&#xff1a; struct D {}; int main(void) {struct D d1;struct D d2;printf("%d\n",sizeof(struct D));printf("%d,%0x\n",sizeof(d1),&d1);printf("%d,%0x\n",sizeof(d2),&d2); } 0 0&#xff…

【嵌入式】

一.进制转换&#xff1a;分别有以下前缀&#xff0c;2进制常用0B表示&#xff0c;8进制常用0O&#xff0c;16进制常用0X表示&#xff1b;1位八进制数等于3位二进制数&#xff0c;1位十六进制数等于4位二进制数&#xff0c;在二进制转化为八&#xff0c;十六进制数时。如果位数不…

关于嵌入式系统

说实话&#xff0c;笔者是对嵌入式有兴趣的&#xff0c;为什么&#xff0c;因为对于我这样的懒人&#xff0c;是希望以后出去找个稳定的工作&#xff0c;随着年龄的增长工资越高&#xff0c;经验越多&#xff0c;就越吃香&#xff0c;而不是当个最底层的码农&#xff0c;35岁之…

国嵌,够欠!---ARM在线教育误区

大家好&#xff0c;先自我介绍一下&#xff0c;我是国嵌学院的一个很普通的学员&#xff0c;因为应届生不好找工作&#xff0c;去培训机构培训又和上课时间冲突&#xff0c;所以选择了自主学习。在机缘巧合之下&#xff0c;购买了国嵌学院的嵌入式Linux开发课程&#xff0c;在此…

国嵌C语言总结(1-5)

国嵌一&#xff1a; 什么是数据类型&#xff1f; 数据类型是固定内存大小的别名&#xff0c;是创建变量的模子&#xff1b; 变量的本质&#xff1f; 变量是一段实际连续存储空间的别名&#xff1b;程序通过变量来申请并命名存储空间&#xff1b;通过变量的名字可以使用存储空…

使用新版IDEA创建JavaWeb项目详细图文教程

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 示例概述 三月中下旬了&#xff0c;答辩的日子也越来越近了。之前忙于考研的童鞋&#xff0c;之前忙着玩的童鞋&#xff0c;之前忘记做毕业设计的童鞋都开始忙碌起来了。奈…

idea2022创建javaweb项目

idea版本2022 1.2 //记录一下javaweb的创建 ​​​​​​ name项目名称 location存储地址 Application server&#xff1a;选择new 选中Tomact service 点击下一步 点击下一步就创建成功了

idea创建一个javaweb项目

前提 java环境以及tomcat的安装 1、IDEA创建Web项目 此处以Idea 2020.3.4举例 1、新建普通Java项目 注意&#xff1a;Idea2020无法直接新建JavaWeb项目&#xff0c;只能通过新建普通Java项目的方式间接新建JavaWeb项目。 选择项目位置和普通Java项目相同&#xff0c;此处略过…

java web项目_一个完整JavaWeb项目开发总结

一个JavaWeb项目开发总结 曾经&#xff0c;我跟朋友说我要去学Java&#xff0c;到现在1个月&#xff0c;我总算是七拼八凑的写出了我人生中的第一个Javaweb项目&#xff0c;虽然只是一次简单的爬虫&#xff0c;但是却也更坚定了我学Java的决心 就手写一份我做这次Javaweb项目得…

Linux服务器部署JavaWeb项目

目录 1.搭建JavaWeb环境1.1 安装Java环境1.2 安装 MySQL1.2.1 下载并安装 MySQL1.2.2 启动 MySQL 服务1.2.3 查看 MySQL 默认密码1.2.4 登录 MySQL1.2.5 修改密码1.2.6 为root赋值远程管理权限1.2.7 退出服务器测试 MySQL 连接1.3 安装 Tomcat 2.部署JavaWeb项目2.1 将项目打包…

javaweb项目的文件结构

javaweb项目的文件结构 1、前言 最近使用Intellij idea搭建一个springmvc的web项目时&#xff0c;突然发现&#xff0c;自己好像对web项目的文件结构不是很清晰&#xff0c;对于项目中应该有那些文件夹、文件夹里面又是怎么的文件、他们的作用又是什么&#xff1f;这些好像有点…

JavaWeb项目打包运行

简单记录下JavaWeb项目打包运行 文章目录 项目打包tomcat运行项目 一、项目打包 1.选择out输入目录路径 这里我们可以新建一个文件夹 然后选择 项目打包完就在这个目录底下 2.创建一个工件 3.这里的Name默认的是unnamed 这个 我们这里修改成项目名称 先选择output ro…

JavaWeb项目的热部署配置

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 热部署概述 我们通常期望&#xff1a;修改页面和Java代码后不用重新手动部署项目就可即刻生效&#xff1b;这就是最理想的热部署。然而&#xff1b;理想有多丰满&#xff0…

161个Javaweb项目免费

161个javaweb’项目加qq群&#xff08;105613691&#xff09;自取。网上一些假货我当时找半天找不到费事而且贼生气。现在分享出 如下 <% page language"java" pageEncoding"utf-8"%> <%String path request.getContextPath();String basePat…