- 浏览: 1275307 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (499)
- java (101)
- linux (82)
- mysql (30)
- javascript (45)
- Oracle (12)
- ext (14)
- 虚拟机 (1)
- 搜索引擎 (2)
- struts2 (11)
- 设计模式 (9)
- nginx (17)
- tomcat (12)
- 随想 (10)
- spring (18)
- svn (1)
- flash (3)
- UML (1)
- 数据结构 (7)
- 算法 (2)
- 网摘 (9)
- 数据库 (15)
- ibatis (3)
- jquery (31)
- lucene (1)
- hibernate (14)
- Myeclipse (4)
- 线程 (7)
- jbpm (4)
- 重构 (1)
- mantis (3)
- MediaWiki (4)
- ExtMail (1)
- MDaemon (1)
- egit (1)
- dwr (7)
- sitemesh (2)
- mybatis (1)
- ico (1)
- hadoop (5)
- jsoup (1)
- urlrewrite (2)
- jstl (1)
- spring3 (2)
- aop (2)
- 定时器 (1)
- Quartz (2)
- apache (1)
- php (1)
- security (1)
- iptables (2)
- QQ (1)
- mysqldump (1)
- vim (1)
- memcached (4)
- jad (1)
- 微博 (1)
- html5 (1)
- css3 (1)
- httpclient (10)
- google (1)
- shortUrl (1)
- json (2)
- virtualBox (1)
- mantisBT (2)
- htmlunit (1)
- selenium (2)
- mail (1)
- 正则表达式 (4)
- html (3)
- css (2)
- jatoolsPrinter (1)
- 图片处理 (1)
- hql (1)
- webservice (1)
- 分词 (3)
- 短信 (1)
- VPS (1)
- 事务 (1)
- 广告 (1)
- 画廊 (1)
- git (3)
- github (1)
- openshift (1)
- 缓存 (1)
- web (3)
- android (3)
- c3p0 (1)
- 邮箱 (1)
- memcache (2)
- windows (2)
- js (14)
- 编辑器 (1)
- 打印 (1)
- centos (5)
- boneCP (1)
- 连接池 (1)
- sql (1)
- nosql (1)
- MongoDB (1)
- 浏览器 (1)
- node (1)
- node.js (1)
- backbone.js (1)
- lazyload (1)
- Switch Off (1)
- Titanium (1)
- 网站架构 (1)
- WebDriver (1)
- APJP (1)
- 代理 (1)
- comet (1)
- kendoui (1)
- UI (2)
- 互联网 (1)
- localStorage (1)
- 记录 (1)
- 微信 (2)
- Sphinx (1)
- netty (1)
- js,mvvm,Avalon (1)
- 安卓 (1)
- Tengine (1)
- 大数据 (1)
- 手机 (1)
- paypal (1)
- SaaS (1)
- gitlab (1)
- nodejs (1)
- React (1)
- shadowsocks (0)
- vpn (0)
- 验证码 (1)
- SSL (2)
- SEO (1)
- IntelliJ (1)
- 敏捷开发 (1)
- 项目管理 (1)
- 爬虫 (1)
- 正则 (1)
- owncloud (1)
- 云存储 (1)
- ajax (1)
- pjax (1)
- jdk (1)
- zookeeper (1)
- phantomjs (1)
- ELK (1)
- springcloud (1)
- IDEA (1)
- hexo (1)
- ss (1)
- letencrypt (1)
最新评论
-
peakandyuri:
这个是有BUG的,数字小体现不出来,数字大了就不对了,但是Ja ...
java十进制转换N进制并反转换的工具类 -
ginolai:
然后是相关配置:/etc/sysconfig/iptables ...
Linux中iptables设置详细 -
bzhao:
我测试没啥区别啊!
Thread.sleep()和Thread.currentThread().sleep()区别 -
zhl549342097:
match == false
Spring Security 3.1 中功能强大的加密工具 PasswordEncoder -
hellotieye:
renzhengzhi 写道drager 写道用jsoup后解 ...
jsoup select 选择器
本篇介绍了排序自定义,排版布局,以及对ext树和ext的grid的应用,具体看代码注释吧!注意自己加入ext包内容以及json所需包!
首先是jsp代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page pageEncoding="UTF-8"%> <html> <head> <style type="text/css"> html,body{ margin:0px; height:100%; } #center-div{ height:100%; width:100%; } </style> </head> <body style="height:100%"> <script type="text/javascript"> //排序自定义,排版布局,以及对ext树和ext的grid的应用 var nav; var viewport; var grid; var cm; var ds; var bbar; var h; var tree; var root; function addGrade(val){ //ext的ajax的基本使用 Ext.Ajax.request({ //随意请求没有作用,只是测试而已 url: contextPath+'/search.do?method=addGrade', params: { //传到后台的参数名称是grade值是val grade: val }, //ajax如果成功则执行此方法 success: function(response, options) { //解析Json数据 var responseArray = Ext.util.JSON.decode(response.responseText); //ext的alert调整宽度 //Ext.MessageBox.minWidth=250; //Ext.Msg.alert('成功信息','添加年级:'+responseArray.name+'成功!'); //重载root节点,重载后是直接展开root的状态 tree.root.reload(); } }); } //性别详细 function renderSex(value) { if (value == 'male') { return "<span style='color:red;font-weight:bold;'>男</span>"; } else { return "<span style='color:green;font-weight:bold;'>女</span>"; } } //描述详细 function renderDescn(value, cellmeta, record, rowIndex, columnIndex,store){ var str = (rowIndex+1)+"行|"+(columnIndex+1)+"列"; return str; } //动态解析树 root = new Ext.tree.AsyncTreeNode({ text:'年级',//根节点名称 id:'root',//定位到根节点 loader: new Ext.tree.TreeLoader({url:contextPath+'/search.do?method=findGrade'})//请求后台取到子节点 }); Ext.onReady(function(){ //创建树 tree =new Ext.tree.TreePanel({ root:root, width:198, height:732, rootVisible:true,//设为false将隐藏根节点,很多情况下,我们选择隐藏根节点增加美观性 //root:root,//定位到根节点 animate:true,//开启动画效果 enableDD:true,//允许子节点拖动 border:false//没有边框 }); //树的右键菜单的事件 function onAddNode(){ //弹出输入框 Ext.MessageBox.prompt('新增年级', '请输入您要添加的年级', function(btn, text){ if('ok'==btn){ //添加节点到后台 addGrade(text); } }); } //定义右键菜单 var rightClick = new Ext.menu.Menu({ id :'rightClickCont', items : [{ id:'rMenu1', text : '添加年级', //增加菜单点击事件 handler : onAddNode }] }); tree.getRootNode().on('contextmenu',function(node,event){//声明菜单类型 event.preventDefault();//这行是必须的,使用preventDefault 方法可防止浏览器的默认事件操作发生。 rightClick.showAt(event.getXY());//绑定右键菜单组件,取得鼠标点击坐标,展示菜单 }); //建立一个面板 nav = new Ext.Panel({ el: 'nav', title: '管理系统v1.1', layout:'accordion', // 注意这个面板的布局 region: 'west', // 注意这个面板将在window 中的布局位置 split: true, width: 200, collapsible: true, margins:'3 0 3 3',//四周边框的宽度 cmargins:'3 3 3 3', layoutConfig:{ animate:true //注意这里的动画效果 }, items: [{ contentEl: 't1', title: '<font color="blue">年级</font>', items: [tree]//加入tree组件 },{ contentEl: 't2', title: '<font color="blue">学生</font>' }] }); //ext3的布局管理器 viewport = new Ext.Viewport({ layout:'border',//布局类型 items:[nav,{ title: '表格', region: 'center', contentEl: 'center-div', split: true, border: true, collapsible: true }]//west是nav,center是grid }); //对列的定义 cm = new Ext.grid.ColumnModel([ {header:'<font color="blue">编号</font>',width: Ext.get("center-div").getWidth()/5,sortable:true,dataIndex:'id'}, {header:'<font color="blue">日期</font>',width: Ext.get("center-div").getWidth()/5,dataIndex:'time',renderer:Ext.util.Format.dateRenderer('Y-m-d h:i:s')}, {header:'<font color="blue">性别</font>',width: Ext.get("center-div").getWidth()/5,dataIndex:'sex',renderer:renderSex}, {header:'<font color="blue">名称</font>',width: Ext.get("center-div").getWidth()/5,dataIndex:'name'}, {header:'<font color="blue">描述</font>',width: Ext.get("center-div").getWidth()/5,dataIndex:'descn',renderer:renderDescn} ]); //ajax代理 var proxyParam={ url:contextPath+'/search.do?method=SearchAjax', method:'GET' }; //对ajax返回的json数据进行解析, var jsonReaderMeta={ root: 'grids',//Json对象的root名称,与SearchVO的属性相对应 totalProperty: 'totalCount', //数据的总行数 ,与SearchVO的属性相对应 id: 'id' //数据的主键,与GridVO的属性相对应 }; //解析Json数据的类型 var recordType=[ {name: 'id', mapping: 'id'}, //日期类型如果是String也可以表明为date型,不过需要标明pattern,具体pattern可查api中date类 {name: 'time', mapping: 'time',type : 'date',dateFormat : 'Y-m-d h:i:s' }, {name: 'sex', mapping: 'sex'}, {name: 'name', mapping: 'name'}, {name: 'desc', mapping: 'desc'} ]; //定义dataStore ds = new Ext.data.Store({ proxy: new Ext.data.HttpProxy(proxyParam), reader: new Ext.data.JsonReader(jsonReaderMeta,recordType), remoteSort:true //允许到后台进行排序 }); //定义分页标签 bbar = new Ext.PagingToolbar({ pageSize: 28, store: ds, displayInfo: true, displayMsg: '第{0} 到 {1} 条数据 共{2}条', emptyMsg: "没有数据" }); //创建grid对象 grid = new Ext.grid.GridPanel({ //renderTo: 'center-div', width: Ext.get("center-div").getWidth(), store: ds, cm: cm, loadMask: true, bbar: bbar, //增加操作选项卡 tbar:[{ text:"添加", handler:showAdd, scope:this },"-", { text:"修改", handler:showUpdate, scope:this },"-",{ text:"删除", handler:showDel, scope:this }], //如果需要每列自动填满Grid,可以使用viewConfig配置中的foreceFit viewConfig:{forceFit:true} }); //加载grid的数据 ds.load({params:{start:0, limit:28}}); grid.render('center-div'); ds.on('load', function(){ h = $('.x-panel-bbar').height()+$('.x-grid3-body').height()+$('.x-grid3-header').height()+$('.x-panel-tbar').height()+25; if(h>document.body.clientHeight){ grid.setHeight(document.body.clientHeight-$('.x-panel-bbar').height()); }else{ grid.setHeight(h); } }); //添加panel内部的内容 //nav.get(0).toggleCollapse(); //nav.get(0).load({ //url: "http://localhost:8783/MyTest/search.do?method=findGrade", //discardUrl: false, //nocache: false, //timeout: 30, //scripts: false //}); }); //随意点击 function showAdd(){ ds.reload(); } //随意点击 function showDel(){ var del_id=grid.getSelectionModel().getSelected().data.id; alert("删除行:"+del_id); } //随意点击 function showUpdate(){ var update_id=grid.getSelectionModel().getSelected().data.id; alert("更新行:"+update_id); } //自动适应浏览器窗口调整 window.onresize=function(){ grid.setWidth(($('#main').width())-$('#nav').width()-5); h = $('.x-panel-bbar').height()+$('.x-grid3-body').height()+$('.x-grid3-header').height()+$('.x-panel-tbar').height()+25; if(h>document.body.clientHeight){ grid.setHeight(document.body.clientHeight-$('.x-panel-bbar').height()-$('.x-panel-tbar').height()); }else{ grid.setHeight(h); } grid.reconfigure(ds,cm); }; </script> <div id="dialog"></div> <div id="main"> <div id='nav'> <div id='nav-content'> <div id='t1'></div> <div id='t2'></div> </div> </div> <div id="center-div"> <div> </div> </body> </html>
后台代码包含grid的请求部分以及tree的请求部分----------------------
search.do内部分:
String dateFormat() { SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date date = new Date(System.currentTimeMillis()); return smf.format(date); } public ActionForward addGrade(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String gradeName = request.getParameter("grade"); System.out.println(gradeName); GridVO gridVO = new GridVO(); gridVO.setName(gradeName); JSONObject object = JSONObject.fromObject(gridVO); response.setContentType("text/xml;charset=utf-8"); response.getWriter().print(object.toString()); return null; } public ActionForward findGrade(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { List<TreeVO> root = new ArrayList<TreeVO>(); List<TreeVO> children = new ArrayList<TreeVO>(); TreeVO vo = new TreeVO(); vo.setId("grade1"); vo.setText("一年级"); vo.setHref("#"); vo.setLeaf(true); /*TreeVO classvo = new TreeVO(); classvo.setId("class1"); classvo.setText("一班"); classvo.setHref("#"); classvo.setLeaf(true); children.add(classvo); classvo = new TreeVO(); classvo.setId("class2"); classvo.setText("二班"); classvo.setHref("#"); classvo.setLeaf(true); children.add(classvo); vo.setChildren(children);*/ root.add(vo); vo = new TreeVO(); vo.setId("grade2"); vo.setText("二年级"); vo.setHref("#"); vo.setLeaf(true); root.add(vo); JSONArray JsonArray = JSONArray.fromObject(root); response.setContentType("text/xml;charset=utf-8"); response.getWriter().print(JsonArray.toString()); return null; } public ActionForward SearchAjax(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { Integer start = Integer.valueOf(request.getParameter("start")); Integer limit = Integer.valueOf(request.getParameter("limit")); System.out.println("start:" + start + "|limit:" + limit); String sort = request.getParameter("sort"); String dir = request.getParameter("dir"); if (StringUtils.isBlank(sort)) { sort = "id"; } if (StringUtils.isBlank(dir)) { dir = "ASC"; } System.out.println("sort:" + sort + "|" + dir); List<GridVO> lists = new ArrayList<GridVO>(); GridVO vo = new GridVO(); vo.setId(1); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name1"); vo.setDesc("descn1"); lists.add(vo); vo = new GridVO(); vo.setId(2); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name2"); vo.setDesc("descn2"); lists.add(vo); vo = new GridVO(); vo.setId(3); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name3"); vo.setDesc("descn3"); lists.add(vo); vo = new GridVO(); vo.setId(4); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name4"); vo.setDesc("descn4"); lists.add(vo); vo = new GridVO(); vo.setId(5); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name5"); vo.setDesc("descn5"); lists.add(vo); vo = new GridVO(); vo.setId(6); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name6"); vo.setDesc("descn6"); lists.add(vo); vo = new GridVO(); vo.setId(7); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name7"); vo.setDesc("descn7"); lists.add(vo); vo = new GridVO(); vo.setId(8); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name8"); vo.setDesc("descn8"); lists.add(vo); vo = new GridVO(); vo.setId(9); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name9"); vo.setDesc("descn9"); lists.add(vo); vo = new GridVO(); vo.setId(10); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name10"); vo.setDesc("descn10"); lists.add(vo); vo = new GridVO(); vo.setId(11); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name11"); vo.setDesc("descn11"); lists.add(vo); vo = new GridVO(); vo.setId(12); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name12"); vo.setDesc("descn12"); lists.add(vo); vo = new GridVO(); vo.setId(13); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name13"); vo.setDesc("descn13"); lists.add(vo); vo = new GridVO(); vo.setId(14); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name14"); vo.setDesc("descn14"); lists.add(vo); vo = new GridVO(); vo.setId(15); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name15"); vo.setDesc("descn15"); lists.add(vo); vo = new GridVO(); vo.setId(16); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name16"); vo.setDesc("descn16"); lists.add(vo); vo = new GridVO(); vo.setId(17); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name17"); vo.setDesc("descn17"); lists.add(vo); vo = new GridVO(); vo.setId(18); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name18"); vo.setDesc("descn18"); lists.add(vo); vo = new GridVO(); vo.setId(19); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name19"); vo.setDesc("descn19"); lists.add(vo); vo = new GridVO(); vo.setId(20); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name20"); vo.setDesc("descn20"); lists.add(vo); vo = new GridVO(); vo.setId(21); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name21"); vo.setDesc("descn21"); lists.add(vo); vo = new GridVO(); vo.setId(22); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name22"); vo.setDesc("descn22"); lists.add(vo); vo = new GridVO(); vo.setId(23); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name23"); vo.setDesc("descn23"); lists.add(vo); vo = new GridVO(); vo.setId(24); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name24"); vo.setDesc("descn24"); lists.add(vo); vo = new GridVO(); vo.setId(25); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name25"); vo.setDesc("descn25"); lists.add(vo); vo = new GridVO(); vo.setId(26); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name26"); vo.setDesc("descn26"); lists.add(vo); vo = new GridVO(); vo.setId(27); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name27"); vo.setDesc("descn27"); lists.add(vo); vo = new GridVO(); vo.setId(28); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name28"); vo.setDesc("descn28"); lists.add(vo); vo = new GridVO(); vo.setId(29); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name29"); vo.setDesc("descn29"); lists.add(vo); vo = new GridVO(); vo.setId(30); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name30"); vo.setDesc("descn30"); lists.add(vo); vo = new GridVO(); vo.setId(31); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name31"); vo.setDesc("descn31"); lists.add(vo); vo = new GridVO(); vo.setId(32); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name32"); vo.setDesc("descn32"); lists.add(vo); vo = new GridVO(); vo.setId(33); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name33"); vo.setDesc("descn33"); lists.add(vo); vo = new GridVO(); vo.setId(34); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name34"); vo.setDesc("descn34"); lists.add(vo); vo = new GridVO(); vo.setId(35); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name35"); vo.setDesc("descn35"); lists.add(vo); vo = new GridVO(); vo.setId(36); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name36"); vo.setDesc("descn36"); lists.add(vo); vo = new GridVO(); vo.setId(37); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name37"); vo.setDesc("descn37"); lists.add(vo); vo = new GridVO(); vo.setId(38); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name38"); vo.setDesc("descn38"); lists.add(vo); vo = new GridVO(); vo.setId(39); vo.setTime(dateFormat()); vo.setSex("male"); vo.setName("name39"); vo.setDesc("descn39"); lists.add(vo); vo = new GridVO(); vo.setId(40); vo.setTime(dateFormat()); vo.setSex("female"); vo.setName("name40"); vo.setDesc("descn40"); lists.add(vo); // 排序 lists = sortObj(lists, sort, dir); SearchVO searchVO = new SearchVO(); searchVO.setTotalCount(lists.size()); lists = findCurrentPageObj(lists, start, limit); searchVO.setGrids(lists); JSONObject obj = JSONObject.fromObject(searchVO); System.out.println(obj.toString()); response.setContentType("text/xml;charset=utf-8"); response.getWriter().print(obj.toString()); return null; } private List<GridVO> sortObj(List<GridVO> list, String sort, String dir) { Set<ResultTokenDelegate> someSet = new TreeSet<ResultTokenDelegate>(); List<GridVO> result = new ArrayList<GridVO>(); for (GridVO res : list) { ResultTokenDelegate delegate = new ResultTokenDelegate(res, sort, dir); someSet.add(delegate); } Iterator iterator = someSet.iterator(); while (iterator.hasNext()) { ResultTokenDelegate delegate = (ResultTokenDelegate) iterator .next(); result.add(delegate.getResult()); } return result; } List<GridVO> findCurrentPageObj(List<GridVO> list, int start, int limit) { List<GridVO> vos = new ArrayList<GridVO>(); for (int i = 0; i < list.size(); i++) { if (i >= start && i < (start + limit)) { vos.add(list.get(i)); } } return vos; }
TreeVO类代码:
package com.xuyi.vo; import java.util.ArrayList; import java.util.List; public class TreeVO { String id; String href; String hrefTarget; String text; boolean leaf; List<TreeVO> children = new ArrayList<TreeVO>(); public String getHref() { return href; } public void setHref(String href) { this.href = href; } public String getHrefTarget() { return hrefTarget; } public void setHrefTarget(String hrefTarget) { this.hrefTarget = hrefTarget; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getText() { return text; } public void setText(String text) { this.text = text; } public boolean isLeaf() { return leaf; } public void setLeaf(boolean leaf) { this.leaf = leaf; } public List<TreeVO> getChildren() { return children; } public void setChildren(List<TreeVO> children) { this.children = children; } }
GridVO类的代码:
package com.xuyi.vo; public class GridVO { int id; String sex; String name; String desc; String time; public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
SearchVO类的代码:
package com.xuyi.vo; import java.util.ArrayList; import java.util.List; public class SearchVO { int totalCount; List<GridVO> grids = new ArrayList<GridVO>(); public List<GridVO> getGrids() { return grids; } public void setGrids(List<GridVO> grids) { this.grids = grids; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } }
ResultTokenDelegate类的代码:(用来进行list对象的排序)
package com.xuyi.util.sort; import com.xuyi.vo.GridVO; public class ResultTokenDelegate implements Comparable { private GridVO result; private String sort; private String dir; public ResultTokenDelegate() { } public ResultTokenDelegate(GridVO result, String sort, String dir) { this.result = result; this.sort=sort; this.dir=dir; } public GridVO getResult() { return result; } public void setResult(GridVO result) { this.result = result; } public String getDir() { return dir; } public void setDir(String dir) { this.dir = dir; } public String getSort() { return sort; } public void setSort(String sort) { this.sort = sort; } public int compareTo(Object o) { ResultTokenDelegate ntd = (ResultTokenDelegate) o; if ("id".equals("id")) { if ("ASC".equals(dir)) { if (this.getResult().getId() < ntd.getResult().getId()) { return -1; } else if (this.getResult().getId() == ntd.getResult().getId()) { return 1; } else { return 1; } }else{ if (this.getResult().getId() < ntd.getResult().getId()) { return 1; } else if (this.getResult().getId() == ntd.getResult().getId()) { return 1; } else { return -1; } } }else{ return 1; } } }
发表评论
-
Ext中文官网
2011-12-07 15:01 2236http://extjs.org.cn/ -
[转]EXT设计器破解2.X版本
2011-11-22 09:38 1003找了半天也只有2.X的破解版,凑合玩玩吧。。。 详细见:ht ... -
EXT 3.x 使用详解之Ext.Direct(二)---polling,简单实现网页聊天功能
2010-04-16 00:56 4238看了下Ext.Direct的polling功能还是封装的不错的 ... -
EXT 3.x 使用详解之Ext.Direct(一)
2010-04-15 16:36 3985感觉EXT3.x增加的最好的功能之一就是这个Ext.Direc ... -
引用一下:EXT调试功能
2010-04-14 22:21 2473在ExtJS开发过程中,经常会遇到怎么也找不到错误的时候,这时 ... -
EXT 3.x 使用详解之Ext.History浏览器前进后退功能(二)--整合grid分页
2010-04-14 17:08 2248这篇是针对我以前所写的一个例子进行了对history的修改,修 ... -
EXT 3.x 使用详解之Ext.History浏览器前进后退功能(一)
2010-04-14 11:02 3502先来做个例子吧,这里写一个ext官方的例子,注意注释: &l ... -
EXT 3.x 使用详解之fileUpload
2010-04-09 23:59 7400哎,首先发泄一下情绪 ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(三)
2010-04-07 16:05 2432本篇主要介绍了grid的ajax功能以及分页标签功能,具体看代 ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(二)
2010-04-07 15:49 4959本篇主要讲解了grid如何自动调整大小,以便在我们窗口发生变化 ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(一)
2010-04-01 17:59 2177很强大的grid总算登场啦,先来热热身,看下最简单的应用,详细 ... -
EXT 3.x 使用详解之Ext.Window
2010-04-01 17:06 2712这个是最基础的ext使用了,首先先确定要引入source里面哪 ... -
开始研究ext,使用心得
2010-04-01 16:53 1443经过几天的学习和实验,了解到,基本上ext的框架还是十分方便的 ...
相关推荐
`Ext.Viewport`布局是Ext JS框架中构建复杂用户界面的关键组件之一。通过合理的属性配置和布局设计,它可以有效地管理页面上的多个区域和组件,实现灵活的布局调整和动态内容加载。对于希望利用Ext JS创建高级Web...
### Ext组件概述与详解 #### 一、Ext基础组件 **1.1 Box Component (Ext.BoxComponent)** - **xtype**: `box` - **功能描述**:Box Component 是一个非常基本的 Ext 组件,主要用于定义具有边框和其他布局属性的...
16.7.3 商品信息的删除 16.7.4 商品信息的更新 第17章 ExtJS案例:企业任务管理系统 17.1 系统概述 17.2 需求分析 17.3 数据库设计 17.4 员工任务管理 17.4.1 个人任务处理 17.4.2 个人资料编辑 17.5 主管...
16.7.3 商品信息的删除 16.7.4 商品信息的更新 第17章 ExtJS案例:企业任务管理系统 17.1 系统概述 17.2 需求分析 17.3 数据库设计 17.4 员工任务管理 17.4.1 个人任务处理 17.4.2 个人资料编辑 17.5 主管...
【TipLite:EXT气泡提示插件详解】 在网页设计和开发中,用户交互和界面体验是至关重要的因素。EXT.js 是一个强大的JavaScript框架,它提供了丰富的组件和工具,用于构建功能丰富的、响应式的Web应用。TipLite是EXT...
1. **创建Hello World应用**:在WebRoot目录下建立一个名为`helloworld.js`的文件,输入Ext4.0的`application`配置代码,定义应用名称和启动函数,创建一个带有标题和内容的`Viewport`容器。 2. **HTML结构**:创建`...
**EXT MVC 项目示例详解** EXT MVC 是 Sencha Ext JS 框架的一个关键特性,它是基于模型-视图-控制器(Model-View-Controller)设计模式的应用开发架构。这个模式将应用程序的不同部分分离,使得代码更易于管理和...
### EXT 布局 Layout 资料详解 #### 6.1 布局概述 在 Ext JS 中,布局(Layout)是一个重要的概念,它指的是容器组件内子元素的排列方式。Ext JS 的所有容器组件都支持布局操作,并且每个容器都有一个对应的布局...
### Ext与后台数据库交互知识点详解 #### 一、Ext中常用的类 在Ext框架中,为了更好地处理数据和用户界面的交互,引入了一系列强大的类来简化开发过程。 ##### 1.1 Ext.data `Ext.data`是Ext框架的核心模块之一...
Button组件是Web应用中最常见的交互元素之一。在Ext中,Button不仅可以显示文本,还可以包含图标,支持多种样式和行为配置。 ##### 3. **ColorPalette(颜色调色板)** ColorPalette组件提供了一个颜色选择器,...
`Ext.onReady` 和 `Ext.application` 是Extjs4中最常用的方法之一。它们通常是你学习Extjs4时最先接触的方法。 - **Ext.onReady**:此方法在当前DOM加载完毕后自动调用,确保页面内的所有元素都可以被脚本引用。...
Ext.create('Ext.container.Viewport', { layout: 'fit', items: [{ title: 'Hello Ext', html : 'Hello! Welcome to Ext JS.' }] }); } }); ``` 然后创建一个`helloworld.html`文件,引入必要的CSS和...
在EXT中,布局管理器是核心组件之一,它负责处理容器中的子组件的排列和大小调整。以下是对EXT布局中几种常见布局方式的详细说明: 1. Column布局: Column布局将容器分割成多列,每列的宽度可以通过`columnWidth`...
- `viewport`: `Ext.ViewPort` - `window`: `Ext.Window` - `toolbarcomponents`: `paging`, `toolbar`, `tbbutton`, `tbfill`, `tbitem`, `tbseparator`, `tbspacer`, `tbsplit`, `tbtext` - `menucomponents`: `...
### ext4.2学习之路:深入理解Ext JS 4.2框架 #### 一、Ext JS 4.2概述 Ext JS是一款强大的企业级富客户端Web应用程序开发框架,基于JavaScript和HTML5技术,用于构建高性能的桌面和移动Web应用程序。Ext JS 4.2...
- 创建一个新的JavaScript类,继承自Ext.grid.Panel或者Ext.grid.Viewport。 - 在类中定义配置属性,如store、columns、tools等,以满足各种场景需求。 - 实现加载数据、刷新、排序等功能的方法。 - 设计好公共...
2. **使用Ext.application**:通过`Ext.application`方法创建一个Extjs应用。该方法允许指定应用的名称以及启动时执行的函数等。例如前面提到的Hello World示例就使用了此方法。 ##### 2.2 获取页面元素 在Extjs中...
### ExtJS控件详解 #### 基本组件 **Ext.Button** - **描述**: 提供了一种标准的用户交互方式,通常用于触发特定事件或功能。 - **用途**: 创建按钮,可以设置图标、文本、工具提示等。 **Ext.SplitButton** - **...