为Extjs的FormPanel统一添加回车提交功能

项目中,经常利用FormPanel里的按钮执行数据的查询、保存等提交动作,为了使操作更加方便和符合部分用户的使用习惯,需要统一实现FormPanel中利用回车键执行查询、保存等提交动作。
既然是统一实现回车提交功能,那么就需要通过Ext.override方法来覆盖Ext.form.Panel类的源码。实现代码如下:
阅读余下全文 »

Extjs4.1水平滚动条在页面比例缩小情况下自动滚动的BUG

Extjs4.1中继承于Ext.panel.Tabel的GridPanel和TreePanel的水平滚动条在页面比例小于100%的情况下,都会产生拖动滚动条时自动滚动至起始位置的情况(可以打开Extjs4.1的API,然后缩小页面比例,点击“Locking, Cell Editing Summary Grid Example”示例,控制滚动条,即可重现上述Bug)。
遇到这个Bug的时候,先尝试打开源代码,在源码里面搜索‘scroll’关键字,在Ext.panel.Tabel(GridPanel和TreePanel的基础类)的源码中发现了scroll的系列处理,特别是发现了hrizonal srcoll利用Ext.util.DelayedTask的延迟同步处理,瞬间感觉一片光明,似乎离Bug的解决已经不远了。
但是随着对源代码的深入理解,越来越觉得无从下手,因为当时没有实现同步hrizonal scroll的思路和方案。这时候突然想起来Extjs4.2发布的时候,解决的系列Bug列表中貌似有关于scroll的,于是在sencha官网上打开Extjs4.2的API,利用上面谈到的方法来重现Bug,果然这个Bug已经在4.2版本解决了!
阅读余下全文 »

前苏联的犬儒主义(转载)

美国记者赫德里克·史密斯(Hedrick Smith),在他那本写于1976年的书中,向读者讲述了勃烈日涅夫时代弥漫于苏联社会的犬儒主义。
史密斯发现,在苏联,实际上已经很少有人相信共产主义。
首先,苏共领导人自己就不相信。史密斯引用一位莫斯科的科学家的话,”我们的领导人,把共产主义看作一种象征,用来判断其它人是否忠诚。”(勃烈日涅夫的侄女柳芭发表回忆录,其中写到,勃烈日涅夫当年曾对自己的弟弟说:”什么共产主义,这都是哄哄老百姓听的空话。”)。
一位高级编辑说,当政的这些苏共领导人是没有信仰的人,”是一些对一切都无所谓的人。他们所要的是权力,纯粹是权力”。
这位编辑还说,社会上的几乎所有人,都不再相信官方的意识形态,而且对各种事情也并非没有自己不同的看法。但是一到正式场合,他们却照旧举手拍掌,重复着官方的陈词滥调。人们明知这一切是毫无意义的,是逢场作戏,”可是你必须去玩它”。
阅读余下全文 »

Extjs扩展-Ext.selection.RadioModel(单选选择模式)

Extjs框架的Grid选择模式分为行选择模式(Ext.selection.RowModel)、单元格选择模式(Ext.selection.CellModel)和复选框选择模式(Ext.selection.CheckboxModel),其中默认的选择模式是行选择模式(Ext.selection.RowModel)。
项目中需要设定Gird的选择模式为Radio样式的单选选择模式,尝试在复选框选择模式(Ext.selection.CheckboxModel)的基础上做出修改,实现了Ext.selection.RowModel。
效果图如下:
fdb4312bd04649c630a546c5c9998c75
阅读余下全文 »

Extjs扩展-combobox实现清空内容功能

Extjs框架中的combobox组件,是Extjs框架所有组件中的一个重要角色。
下面介绍本人编写的一个主要应用于combobox上的清空内容插件,可以非常方便清空所选择的信息,建议用于combobox的内容比较长,手动删除比较麻烦的情景。
阅读余下全文 »