extjs 学习小窍门
一、从form中获取field的三个方法:
1、Ext.getCmp('id');
2、FormPanel.getForm().findField('id/name');
3、Ext.get('id/name');//前提是FormPanel在界面上显示出来了。
二、ExtJS如何给textfield赋值的三个方法:
var value="值";
1、 fs.form.findField(id/name).setValue(value);
2、 Ext.get(id/name).setValue(value);
3、 Ext.getCmp(id).setValue(value);
三、Ext grid中得到选择行的方法
在Ext grid中假设有一个名称为grid的对象。
(1)grid.getStore().getRange(0,store.getCount());//得到grid所有的行
(2)grid.getSelectionModel().getSelections()//得到选择所有行
(3)grid.selModel.selections.items;//得到选择所有行
(4)grid.getSelectionModel().getSelected();//得到选择行的第一行
四、formPanel组件load数据时combo的自动赋值
combo有个hiddenName这个属性,这个属性是真正提交的值,在加载的时候你将这个属性的设置到reader中,就可以自动选择到指定的值了,比如说:hiddenName:'value',那么你的reader中就应该有一个 {name:'value'}.
五、ExtJS 重置表单的方法:
有三种方法能实现form表单的重置,假设var fs=new Ext.form.FormPanel({...});
(1)fs.form.reset();//重置form
(2)fs.getForm().getEl().dom.reset();//重置form
(3)Ext.getCmp('fs').form.reset();
// 添加页头工具栏
var
gridHead = grid.getView().getHeaderPanel(true);
var tbHead = new
Ext.Toolbar(gridHead);
//
在页头工具栏右侧添加按钮
Ext.get(Ext.get(tbHead.addSpacer().getEl()).dom.parentNode).setStyle('width','100%');
tbHead.addButton(...);
//
页头双工具栏
var tbar2container =
Ext.DomHelper.append(tbHead.el,{tag:'div',id:Ext.id()},true);
var tbar2 = new
Ext.Toolbar(tbar2container);
tbar2.add("Second row:",{text:"Button
3"},'-',{text:"button 4"});
Extjs中的两个小技巧
首先要说的是一个BUG,其实,严格来说不算是一个真正意义上的BUG。当我们在FormPanel里面添加items的元素的时候,多数人会直接new,比如这样。
items : [new
Ext.form.TextField({
fieldLabel :
'姓名',
anchor :
'100%',
name :
'student.name'
})]
有时候这个输入框或者下拉框在外面需要使用,我们就必须将它定义到外面来,items[cfg.owner.txtName]就是这样了,这个时候,我们就会遇到这个BUG,如果你的这个FormPanel是放在window上,是通过点击按钮new出来一个window来实现,BUG就出现了,我关闭掉这个window,然后再点击按钮的话,就不会出现window了。原因是txtName是定义在外面的,类似于一个全局的变量,当关闭window的时候,就将这个全局的变量关掉了,再打开就不可以了,在items里面new的话,每次打开都会new一个全新的对象,也就不会碰到这样的问题了。如果输入框或者下拉框在外面需要使用的话,可以给他们添加一个id属性,通过Ext.getCmp(‘id’)来获得这个控件。
Extjs的combobox功能很强大,接下来,就是用它来模仿一个百度的功能。

百度能输入英文从而来获取中文提示,现在要做的就是用Extjs的combobox来做这个。在数据库中有这样一张表。

前台的Extjs没有什么特别要地方,要注意的就是combobox中的minChars属性,它指的是输入几个字符的时候combobox自动完成,从上面的表中可以看出,我们可以设置为1,也可以设置为2。接下来就是后台的事情了,首先必须知道,combobox传送字符串的键(查Ext的API可以知道是"query"),从而获得输入的值。
String pinyin =
request.getParameter("query");
List
gradeList;
if(null == pinyin ||
("").equals(pinyin)){
gradeList =
gradeService.selectAll();
}else{
gradeList =
gradeService.selectByPinYin(pinyin);
}
request.setAttribute("gradeList",
gradeList);
return mapping.findForward("gradeXml");

这样我们就实现了这个功能。还有一点要说的,如果数据库中有大量的中文,我们不可能给每条数据添加拼音缩写,这个时候就可以使用java的第三方包pinyin4j-2.5.0.jar来实现中文转成拼音。
extjs-grid
1)表格在进入下一层的时候无法高亮显示的解决办法
grid中,deferRowRender:false
//渲染行高亮显示
2)grid,checkbox
this.ssm = new
Ext.grid.CheckboxSelectionModel();
this.ssm.handleMouseDown =
Ext.emptyFn;//这个方法可以在点击行的时候不会选择checkbox,点击checkbox的时候不会选择行,然后再增加rowclick事件
3)grid,column,hide
隐藏:grid.getColumnModel().setHidden(
列索引, true);
显示: grid.getColumnModel().setHidden( 列索引,
false);
extjs 学习小窍门的更多相关文章
- ExtJs学习笔记之学习小结LoginDemo
ExtJs学习小结LoginDemo 1.示例:(登录界面) <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- extjs 优化小建议
1 原文信息 原文标题: Sencha Con 2013: Ext JS Performance tips 原文地址: [http://edspencer.net/2013/07/19/sencha- ...
- 10个实用的UX设计作品推销小窍门
以下内容由Mockplus(摹客)团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 众所周知,产品用户体验很重要,即使是Google也知道这一点.但是,当真正涉及到UX 设计销 ...
- VAssistX使用小窍门
日常使用中的一些VAssistX使用小窍门,简单总结下 一,修改VAssistX默认缓存文件路径,防止默认C盘被占用空间过大 1. 打开注册表HKCU\Software\Whole Tomato,新 ...
- MySql批处理的小窍门:排行榜类数据生成
MySql批处理的小窍门:排行榜类数据生成 最近在做新版本的开发,其中涉及到排行榜的批量预生成,在此分享给大家. 关键点 名次的计算(不考虑用游标) 单榜单查询 对于排行榜这种类型的数据,当只查一个排 ...
- ExtJs学习之Window
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- WPF中线性渐变画刷的一个小窍门
最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法 ...
- 教你50招提升ASP.NET性能(二十四):ORM小窍门
ORM TipsORM小窍门 More and more people are using Object to Relational Mapping (ORM) tools to jump the d ...
- Android学习小Demo(19)利用Loader来实时接收短信
之前写过一篇文章<Android学习小Demo(13)Android中关于ContentObserver的使用>,在里面利用ContentOberver去监測短信URI内容的变化.我们先来 ...
随机推荐
- 2016huasacm暑假集训训练四 数论_A
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/F 题意:狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜 ...
- Linux 下 YUM 安装 Percona Server 5.6
Percona Server 是 MySQL 的衍生版,专注于 Linux/BSD 下 MySQL 数据库服务器的改进, 在功能和性能上较 MySQL 有着显著的提升. Percona Server ...
- WPF整理--动态绑定到Logical Resource
“What happens if we replace aspecific resource? Would that be reflected in all objects using the res ...
- Oracle ORA-01722: 无效数字 处理方法
C# + Oralce 10G 项目中 有用参数处理Update语句.参数命名和表字段同名.执行报错: ORA-01722: 无效数字 后修改所有的参数和对应字段不同.解决. 修改前: StringB ...
- 【iCore3 双核心板_FPGA】实验二十八:基于SDRAM 的VGA 驱动器的设计
本实验设计的VGA显示驱动完全基于FPGA实现,用SDRAM做缓存设备,通过ARM控制VGA显示的内容.ARM 通过FSMC总线向FPGA发送数据,由于总线的速度和VGA的显示速度与SDRAM的读写速 ...
- C语言末
最后一篇C语言的随笔啦,今天考试,感觉脑袋里一片空白,好像失忆了一样,但是不管怎么说,反正已经考完试了,成绩的好坏只能说明你以前的学习情况,不能预测你下一阶段的学习,不管考的怎么样,都已经过去了,考试 ...
- [不好分类]SD卡无法读取,显示RAW
上周同事拿来了一个8G的SD卡,插入读卡器后显示“需要格式化”.无法读取.文件格式处显示“RAW”,磁盘大小显示0字节. 处理步骤如下: 1.按照提示,格式化,选择“快速格式化”. 2.采用数据恢复软 ...
- vi 技巧和诀窍~转IBM
复合搜索 1 #!/bin/ksh 2 # 3 echo "Starting" 4 file=${1} 5 6 echo ${file} 7 8 if [[ ${file} = 1 ...
- Flink – Trigger,Evictor
org.apache.flink.streaming.api.windowing.triggers; Trigger public abstract class Trigger<T, W e ...
- mysql临时禁用触发器
mysql支持设定session变量,并且有带入到触发器中使用的能力,故可以间接的设置触发器失效 思路是: 在执行前设定一个session变量,执行过程中判断该变量的值(没有设定该变量的值时该变量默认 ...