
UI设计
文章平均质量分 78
zhaoqiliang527
这个作者很懒,什么都没留下…
展开
-
EXT 组件一些属性与方法(Windows)
<br />Ext.Window扩展自Ext.Panel,其xtype值为window。<br /><br /><br />1、主要配置项:<br /> closable:是否允许关闭窗口,默认为true。<br /> closeAction:关闭窗口的动作,包括以下两种:<br /> close:从DOM删除窗口,销毁窗口及其所属组件,窗口不再可用,重新显示需要调用show方法。此为默认值。<br /> hide:通过设置原创 2011-04-27 13:55:00 · 562 阅读 · 1 评论 -
[Ext扩展]动态分页大小、动态grid高度、本地数据分页三合一
Ext.ux.plugins.PageComboResizer:PagingToolbar插件,添加一个分页提供大小选择的ComboBox <br />Js代码 bbar: new Ext.PagingToolbar({ pageSize: 10, store: store, displayInfo: true, plugins:[new Ext.ux.plugins.PageComboResiz原创 2010-09-13 13:12:00 · 2530 阅读 · 0 评论 -
为Ext.Msg添加一个ghost提示的方法
<br />总觉得的老用alert的方式打断用户操作是非常不好的做法,调用方法时这个提示会出现两秒,之后自动消失,稍做修改Js代码 /** * 存放自定义的单例函数 * @author chemzqm@gmail.com */ Ext.MyApp = function(){ var msgCt; function createBox(t, s){ return ['<div class="msg">', '<div转载 2010-09-13 13:36:00 · 808 阅读 · 0 评论 -
[组件用法]Ext.state.Manager对组件状态进行管理
Ext.state.Manager存在的意义:简单说就是在客户端存取数据,譬如说用户打开一个Window之后对其大小进行了调整,他不想每次打开都要重新调整窗口大小,这时你就可以使用Ext.state.Manager记住他所设定的窗口大小,这样他即使关闭浏览器再打开打那个Window还会是你所保存的大小。 <br /><br />默认情况下所有组件执行构造函数时都会访问这个类。如果你想要让它记住组件的状态必须在程序初始化的时候设置一个Provider(一个可以对数据进行存取的底层实现),Ext提供的一个实现就转载 2010-09-13 13:22:00 · 894 阅读 · 0 评论 -
[Ext源码解读]事件的注册、添加与触发是如何实现的
<br />Ext提供了一套强大的事件处理机制,每个组件都有许多事件,用户可以很方便通过动态的方式为对象添加/删除事件监听函数(在实例化的时候不是必须的),从而动态的改变或添加对象的行为,而这一切又是如何实现的呢? <br />阅读前请您准备好Javascript基础知识(包括:prototype属性、Functin对象的apply和call方法、函数的作用域等)。 <br />该脚本剥离了许多分支逻辑,修改了大多数函数的实现仅保留最基本逻辑,如需详细了解Ext内部请阅读Ext源代码。Enjoy it! <转载 2010-09-13 13:35:00 · 462 阅读 · 0 评论 -
拒绝iframe嵌套,ajax方式轻松实现单页面
<br />以前单位做的项目都是上面一排菜单按钮,每点击一次按钮下面工作区的iframe就到后台重新加载一次页面;这样做有很大弊端,其一是iframe经常会对弹出层造成遮挡(ie6下),其二是每个页面都有一个jsp页面(其实就是些js、css之类的引用)和js文件,维护起来很是不便;其三,iframe里的遮罩没法挡住整个屏幕区域。既然如此,我们就不能直接去下js文件把组件添加到页面上吗?答案是可以的,而且很简单。 <br /><br />第一步:创建一个返回Panel的匿名方法,例如Js代码 (functi转载 2010-09-13 13:34:00 · 1234 阅读 · 0 评论 -
[Ext扩展]根据后台json生成左侧导航菜单,5月9日更新1.1版本
<br />文章内不再提供示例,需要查看者请从SVN下载,地址: <br />http://exttools.googlecode.com/svn/trunk/<br />效果图: <br /><br />Js代码 /** * 扩展了Panel类,其布局设为accordion,所在区域为west;该组件初始化后会根据配置的url和root向后台发 * 起请求并解析返回的json串,根据parentcode为空的结点生成TreePanel,子节点通过parentcode属性添加为 * 对应结点的子原创 2010-09-13 13:25:00 · 2337 阅读 · 2 评论 -
[Ext扩展]MenuToolbar:根据json串生成多级菜单
<br />注意:html文件的Ext库引用请自行解决,效果图: <br /><br /><br />Js代码 /** * 该扩展可以通过一定解析规则的json串生成菜单 * 通过itemclick事件调用点击菜单项的监听函数; * 通过afterload事件调用菜单加载完毕后的监听函数; * 注意:使用该控件须确保父菜单code值小于子菜单 * 'code', 'name', 'url', 'leaf', 'enabled', 'parentcode', 'iconcls' *转载 2010-09-13 13:29:00 · 1405 阅读 · 0 评论 -
extjs 代码总结
总结自己的代码 可能以后会用到 记录一下 方便以后查阅 1:所以显示window 的所需的代码 Java代码 MyExt.Utils.myWindow = Ext.extend(Ext.Window, { shadow:false, closeAction:'hide', layout:'fit', closable:true, resizable:false, modal:true, constrai转载 2010-09-15 22:04:00 · 1230 阅读 · 0 评论 -
EXT 组件一些属性与方法(Tree)
<br />1、Ext.tree.TreePanel<br /> 主要配置项:<br /> root:树的根节点。<br /> rootVisible:是否显示根节点,默认为true。<br /> useArrows:是否在树中使用Vista样式箭头,默认为false。<br /> lines:是否显示树线,默认为true。<br /> loader:树节点的加载器,默认原创 2011-04-27 13:52:00 · 715 阅读 · 1 评论 -
javascript图片预加载技术
<br />图片预加载技术的典型应用:<br />如lightbox方式展现照片,无疑需要提前获得大图的尺寸,这样才能居中定位,由于javascript无法获取img文件头数据,必须等待其加载完毕后才能获取真实的大小然后展示出来,所以lightbox显示的图片的速度体验要比直接输出的差很多,而本文说提到的预加载技术主要针对获取图片尺寸。<br />一段典型的使用预加载获取图片大小的例子:<br /> <br />var imgLoad = function (url, callback) {<b原创 2011-05-31 15:01:00 · 519 阅读 · 0 评论 -
Extjs 显示图片 + 文件上传
<br />//upFile.js<br />Ext.onReady(function() {<br />var fileForm = new Ext.form.FormPanel({<br /> title : "",<br /> renderTo : "fileUpload",<br /> fileUpload : true,<br /> layout : "form",<br /> id : "fileUploadForm",<br /> i原创 2011-05-20 13:28:00 · 1816 阅读 · 0 评论 -
ReportService 报表导出Excel
<br />要导出报表就要用ReportService 的webservice方法。<br /> ReportWebService.ReportingService rService = new Egensource.EIPPortal.DocMagrSys.ReportWebService.ReportingService();<br /> rService.Credentials = System.Net.CredentialCache.Def原创 2011-03-19 13:34:00 · 847 阅读 · 0 评论 -
Ext.grid之numbercolumn格式化输出
<br />Ext.grid的输出列类型(xtype)为numbercolumn时,默认输出的小数位数为2,为了自定义输出的格式,可为其定义format属性,如:<br />var sub_cm = new Ext.grid.ColumnModel([<br /> { <br /> header: "单机用量", <br /> xtype: "numbercolumn", <br /> format: '0,0.0原创 2011-02-12 18:51:00 · 2112 阅读 · 0 评论 -
Ext.util.Format类是Ext对数据进行格式化操作的一个类
<br />Ext.util.Format类是Ext对数据进行格式化操作的一个类,这篇会把所有的方法都讲解下,因为每个方法都会用到.因为每个方法都和我们用到的服务器端语言中所常用到的方法一样,看了名称就知道什么意思.这里我会把Ext封装起来的源代码复制出来,看了之后就能够更加理解它的方法的意义了.<br /> <div><br /> <script type="text/javascript"><br /> function ready()<br /> {<br />原创 2011-02-12 18:52:00 · 572 阅读 · 0 评论 -
ExtJs之下拉框联动
<br />在ext的世界里面,我重新感受到了在学校里玩swing的记忆.那时我们都需要为一个控件创建一个数据源,在把这个数据源绑定在控件上.ext也是如此.<br /><br />首先,两个下拉框,第一个下拉框首先load数据源,在select的事件中在load第二个数据源,这就是一个简单的二级联动的实现原理了.Js代码 // 第一个下拉框 var parentStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({原创 2010-12-22 10:27:00 · 902 阅读 · 0 评论 -
ExtJs之下拉框联动-前台纯JS实现
<br />通过extJS实现下拉框联动,即有两个下拉框,其中一个的下拉选项是根据另一个下拉框所选择的数据而变化的。现在网上有同学实现过,其实现思路是针对其中一个的下拉框的select事件编写代码,通过替换另一个下拉框store的proxy,然后重新装载实现级联的。代码如下:<br />Js代码 listeners:{ select : function(combo, record, index){ childStore.proxy= new Ext.data.Htt原创 2010-12-22 10:26:00 · 3218 阅读 · 0 评论 -
Ext Grid表格所有属性
<br />1、Ext.grid.GridPanel<br />主要配置项:<br />store:表格的数据集<br />columns:表格列模式的配置数组,可自动创建ColumnModel列模式<br />autoExpandColumn:自动充满表格未用空间的列,参数为列id,该id不能为0<br />stripeRows:表格是否隔行换色,默认为false<br /><br />cm、colModel:表格的列模式,渲染表格时必须设置该配置项<br />sm、selModel:表格的选择模式,默认原创 2010-10-11 15:20:00 · 1267 阅读 · 0 评论 -
Ext.Grid之记录用户使用习惯—隐藏列
<br />Ext.Grid的强大功能想必用过Ext的都体会到,可以隐藏列,可以拖放,可以排序等等,但是如果用户隐藏了某一些列后,下次登录时还是要看到上次隐藏后的列该怎么办呢?这就涉及到一个用户使用习惯的问题。想到记录用户习惯,当然首选使用Cookie。但是问题来了,在什么时候记录Cookie?什么事件触发后我们去写Cookie?其实最完美的当然就是在隐藏列这一事件(暂且叫它事件吧,具体的我也不太清楚Ext隐藏列的原理)触发时把剩下的列写入Cookie,但是小生才疏学浅,没有找到这个“隐藏列”事件,没法重写原创 2010-10-11 15:23:00 · 1081 阅读 · 0 评论 -
Ext JS PagingToolbar PageResizer组件
Problem<br />An Ext.PagingToolbar allows paging over a large amount of data in chunks of predefined size. Adding it to a grid is pretty straightforward:1.bbar: newExt.PagingToolbar({ 2. pageSize: 10, 3. store: store, 4. displayInfo: true5.})<br />and it原创 2010-09-19 11:49:00 · 2362 阅读 · 1 评论 -
Extjs中的this.config[a] is undefined错误
<br />错误提示:<br />this.config[a] is undefined<br />this.mainBody is undefined<br />解决办法:<br />给autoExpandColumn对应的属性在ColumnModel中的定义加个id属性,如下:<br />{id:’name’,header: “name”,width: 75, sortable: true, dataIndex: ‘name’},<br />在代码中搜索autoExpandColumn,应该是该列没有定原创 2010-09-19 16:24:00 · 3701 阅读 · 7 评论 -
ext tree相关知识
Java代码 ext tree 动态修改各个节点名称icon小图标 ext tree 动态修改各个节点名称icon小图标Java代码 "afterchildrenrendered":function(){ tree.getRootNode().eachChild(function(_node){ _node.setText("1111");//设置节点的文字 _node.getUI().getIconEl().sr原创 2010-09-15 22:19:00 · 1442 阅读 · 0 评论 -
ext 后台查数据库数据拼装tree数据
<br />说明:<br />两个文件<br />jackyNode.java treeVO对象 将数据库当中的树的数据库存入此<br />jackytree.java 采用递归算法 将一次性查出来的数据生成treeJSON结构<br />直接将两个文件复制到eclipse中 run as即可查看<br /> <br />jackyNode.javaJava代码 package com.codeasy.common; public class jackyNode { priva原创 2010-09-15 22:39:00 · 927 阅读 · 0 评论 -
ext grid 单元格提示 出现图片
<br />代码简单 只是记录一下 <br /> Js代码 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <title>03.grid</title> <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />原创 2010-09-15 22:18:00 · 1772 阅读 · 0 评论 -
关于Extjs3.0中的TreeGrid(转)
<br />选择这个控件,是因为在昨天进行的一项开发中,需要一个可编辑的GridPanel控件,另外由于科目一项分为3-4级的树形结构,因此就需要找到一个合适的TreeGridPanel。<br /> 在网上查找很久,才发现了在Extjs3.0中,有Ext.ux.maximgb.tg.EditorGridPanel这样一个类提供了对我需求的支持,初步分析一下,依然有这样一些问题。目前本人还在使用这个控件进行开发,如果有什么新的内容会及时更新,欢迎大家通过E-mail和我共同学习。至于我的大多数修改都是通过原创 2010-09-15 22:16:00 · 2503 阅读 · 0 评论 -
ext 只显示年月的日期插件
<br />插件代码:Js代码 Ext.ux.MonthPickerPlugin = function() { var picker; var oldDateDefaults; this.init = function(pk) { picker = pk; picker.onTriggerClick = picker.onTriggerClick.createSequence(onClick);原创 2010-09-15 22:14:00 · 2715 阅读 · 4 评论 -
[Ext扩展]JsonTreeLoader:一次加载所有树节点更新1.1版本
<br />仿照官网例子:XmlTreeLoader做的,下面有实例 <br />注意:html文件的库引用请自行解决Js代码 /** * 通过读取JSON串生成树的层次结构,务必保证json数组中结点出现次序与树完全展开时一致! * (通过后台对编码进行排序来完成) * JSON串根节点默认为'list' * 父结点id字段为 * * 注意: * 1.因为是一次加载全部结点,节点数过多的话将严重影响性能,此时请使用异步加载! * 2.结点的id属性对应json中code属转载 2010-09-13 13:31:00 · 983 阅读 · 0 评论 -
[Ext插件]PinyinFilter:使用拼音首字母对数据进行过滤
<br />这个插件的目的在于提高用户对于数据的选择效率。经常录入数据的人肯定能明白,在一长串列表中选择你想要记录是一件很费眼神的事;记得当初玩开心网可以按拼音首字母找到自己的好友,当时就觉得很是方便。如果您想提高用户对您软件的评价,请您考虑这个插件。 <br /><br /><br />实现原理:重写了Store中返回过滤函数的方法,使其中需要过滤的汉字转换为其拼音首字母数组(因为有多音字,数组内每一项对应一种拼音的可能性),遍历数组每一项与当前输入项生成的前端匹配正则表达式进行比对,有一个满足就返回tr原创 2010-09-13 13:23:00 · 1063 阅读 · 1 评论 -
[Ext扩展]QM.ui.TreeCombo:多功能下拉树列表,内含文档与示例
<br />有句老话叫不重复造轮子,既然网上已经有下拉树的扩展,为什么还要再做一个呢?答案很简单,网上那些满足不了我的需要。简单来说,本扩展UI组件具备以下功能:宽度自适应 下拉列表宽度可根据树的大小进行自动调整 延迟加载 默认采用,提高页面渲染速度 自动寻路 下拉列表展开时会将选中树结点的按其路径展开 键盘导航 支持使用上下左右回车ESC、TAB进行操作 智能过滤 支持使用汉字和拼音首字母对树进行过滤 默认值支持 可以为组件设置默认值,组件会自动找到对应结点 忽略父节点 默认情况只有选择子节点才有效 <b原创 2010-09-13 13:18:00 · 2846 阅读 · 3 评论 -
Ext.TreeNodeCascade让所有Ext的树支持级联选中
<br />运用了单例模式,使用的话直接让页面文件引用即可。该程序不直接关联任何树的任何事件,可以使用树的checkchange事件对核选的树节点进行进一步操作,譬如修改css样式等;如果通过toggleCheck方法设置结点核选状态将不会进行级联,但会触发树的checkchange事件,压缩包里是一个示例文件Js代码 /** * 给树添加级联选中功能,为树设置属性enableAllCheck则为所有节点添加checkbox; * * 实现方式: * 为TreeNode添加方法:cascad转载 2010-09-13 13:37:00 · 1521 阅读 · 0 评论 -
[组件用法]Ext.History用法要点
<br />在我的单页面试了下这个类的用法,发现这个类还是比较特殊的。 <br />说下详细用法: <br />1.在页面加入如下隐藏域Html代码 <form id="history-form" class="x-hidden"> <input type="hidden" id="x-history-field" /> <iframe id="x-history-frame"> </iframe> </form原创 2010-09-13 13:33:00 · 994 阅读 · 0 评论 -
[Ext扩展]QM.ux.TreeFilter:树节点智能过滤,添加中文模糊匹配功能
Ext自带一个Ext.tree.TreeFilter类,可以实现树节点的过滤,但是功能太单薄了。我自己实现了一个树的过滤功能,支持以下功能: <br />过滤时忽略父节点,默认情况下忽略 中文、拼音首字母过滤,你输中文就按照中文进行匹配,输拼音就按照首字母匹配 过滤后自动展开匹配结点的所有父节点 匹配字符串为空时将结点全部显示,可配置全部显示时结点状态为全收缩还是全展开,默认不处理 拼音缓存:确保汉字只转一次拼音,提高效率 <br />1.1 改动: <br />1.支持中文模糊匹配,输入汉字可以是字符串任原创 2010-09-13 13:21:00 · 2155 阅读 · 48 评论 -
JS多个table隔行换色
<br /><style type="text/css"><br />.tr1{background:#fde;}<br />.tr2{background:#def;}<br />.tr3{background:#fff;cursor:pointer;}<br />.tr4{background:#f60;}<br />.tr5{background:#60f;}<br /></style><br /><script type="text/javascript"><br />function $(id){原创 2010-06-07 14:47:00 · 991 阅读 · 0 评论 -
javascript获取并分析URL(html?id=*等问题)
1.获取URL获取url的方法,直接用location就可以了,window.location或window.loation.href也可以。 2.分析URL运用location获取的url的属性为object,要对其进行字符串的分析操作,需要先将其转换为字符串。用location来进行处理,首先将其转换为字符串,用函数toString(),URL.toString();原创 2010-05-25 10:43:00 · 682 阅读 · 0 评论 -
异步处理进度条
1.先上图,效果如下:2.使用方法Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> var loader=new Ajaxloader(this._ContentID,{Text:loading......,Top:50}); lo转载 2010-05-25 10:38:00 · 286 阅读 · 0 评论 -
将Table数据导出至Excel文件(中国移动实现的方式)
JS方法: function excelPrint(objStr){ var tempStr = document.getElementById(sort_table).outerHTML; var newWin = window.open(); newWin.document.write(tempStr); newWin.document.close(); newWin.转载 2010-05-25 10:41:00 · 290 阅读 · 0 评论 -
使用yahoo雅虎js库(YUI)建立无刷新的N级树(可添加删除节点)
1、首先你要去下面地址下载yahoo类库 http://developer.yahoo.com/yui/ 2。5版本的 8。84M,你可以不全用,只用树的 2、然后需要把yui/build/treeview/文件夹下面的文件复制到你的工程 3、需要引用下面的js 所有的js代码转载 2010-05-11 18:40:00 · 732 阅读 · 0 评论 -
YUI(Yahoo UI)学习笔记之Calendar
公司项目要用到Yahoo UI,下午只好硬着头皮去学了,但是发现网上关于这方面的中文资料很少,可能各位高手都在写代码呢,所以我写这篇学习心得帮助下和我一样的新人,无意卖弄,如果写的不好还请各位见谅啊。Yahoo UI是什么我不多讲了,自己可以去baidu下。访问http://developer.yahoo.com/yui 上面可以下载Yahoo UI 2.2.0最新版。解压缩到硬盘上。根目录有3个转载 2010-05-10 17:26:00 · 312 阅读 · 0 评论 -
[Ext扩展]两个来自Ext官方论坛的时间控件扩展,可选择时分秒
为方便大家使用,我把控件所需的js、css、gif文件都提取出来了,示例可以直接放到Ext根路径下用浏览器打开查看运行效果。这个组件适用于Ext3.0以后版本,2.0肯定跑不了的 <br />第一个<br />使用方法示例:<br />Js代码 { id:'time', xtype:'datetimefield', format:'H:i' } {id:'time',xtype:'datetimefield',format:'H:i'}<br />示例截图:<br /><原创 2010-09-13 13:15:00 · 4593 阅读 · 4 评论 -
YUI(Yahoo! UI Library)的应用文档
1.1. YAHOO工具库提供的方法l namespace用于创建一个全局的命名空间,使用YUI时,首先会自动创建widget,util,example三个命名空间,使用时也可以自定义命名空间。类似于在程序中建了了一个static变量。l langjavascript扩展的语言工具,用于判别对象的类型。l lang.exten转载 2010-05-10 18:13:00 · 741 阅读 · 0 评论