Home
JavaEE
Java GUI
Framework
DHtml
Android
插画
教程下载

ATOM 2.0   RSS 2.0
Add to iGoogle Add to Live.com
  • 今天终于收到金山快盘的邀请码
  • 利用最短ie判断在不同浏览器上播放背景音乐
  • 对插画方面的一点感受与回忆
  • 网上看到的两个死里逃生的图片,记录一下
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 对Android在互联网应用开发上的纠结
  • 收藏夹中的书签都没了,决定写一个自已的书签管理器
  • 测试自已整理的本机的webapps客户端发送博文能否成功。
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 昨天借用飞姐的佳作做的一个浪漫爱情网页
  • 有几个腾讯微博的邀请码(实时更新)
  • BB的网站移到了GAE-JAVA上了
  • 一个基于GAE Python Web.py和JQuery的留言本程序
  • 类许愿墙的一个告白网站和一个电子书网站
  • Android中用Bitmap获取图片中某个区域的图象
  • 对暴力破解带密码的QQ相册的可行性分析
  • 对淘宝web旺旺版一些通讯接口的研究

Extjs-GridFilters的使用与发现和PagingToolbar共用的bug

posted by David Chen at May 8, 2008, 4:40 AM    

这个GridFilters害我搞了一个早上,看了PagingToolba源码, 一个地一个地方的alert才发现有一个值是
undefine, 就是一个小问题,浪费了我半天时间, 大家使用filter的时候,最后看看后面那个bug.
不同类型的filter在extjs中定义有不同的功能,好像numeric有<,>,=的功能,
而boolean则有 yes,和no两个options选择,当然也可以自定义options, 选择不同
的option后,会做为参数和值传递到store中,如果是ajax,会自动刷新store,并将
参数传递. 注意要将 grid-filter的example中的grid,img,menu几个文件夹copy到
相应的目录下,否则会看不到图片的

Ext.menu.RangeMenu.prototype.icons = {
gt: './extjs/img/greater_then.png',
lt: './extjs/img/less_then.png',
eq: './extjs/img/equals.png'
};
Ext.grid.filter.StringFilter.prototype.icon = './extjs/img/find.png';
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
// 注意要先调用上面的代码,
var filters = new Ext.grid.GridFilters({
filters:[ // 这些列应和grid中的columns对应,而不应和store对应
{type: 'numeric', dataIndex: 'id'}, // 定义一个数字的filter,对应ColumnModel的列为 id 列
{type: 'string', dataIndex: 'company'},
{type: 'numeric', dataIndex: 'price'},
{type: 'date', dataIndex: 'date'},
{
type: 'list', // 定义为list类型
dataIndex: 'size',
options: ['small', 'medium', 'large', 'extra large'],
// 自定义显示的选项,未有找到相关的api说明,可能option也像html select的option一样,有text和value属性
phpMode: true
},
{type: 'boolean', dataIndex: 'visible'}
]});
在GridPanel中添加这项,plugins: filters, 注章,如果bbar指定了PagingToolbar的值,要注意给
PagingToolbar 的plugins: filters也要同样定义,这样才能将选择后的参数传递

filter传递到server端的参数名称是这样的:
parameterName parameterValue
filter[0][data][value] 55
filter[0][data][type] numeric
filter[0][field] id
filter[0][data][comparison] eq
所以,不合一般应用,可修改GridFilters类的buildQuery 函数

发现了2.1在PagingToolbar中使用filter后的bug
PagingToolbar的 onLoad这个function有bug,在store第一次加载的时候,如果
store.load() 不指定 {params:{start: 0, limit: 15}} 作参数,
在o.params[this.paramNames.start]得到undefine的值,
解决方法:
1) 第一次加载store的时候指定 {params:{start: 0, limit: 15}} 对象做参数
2) 重写getPageData,在前面加上this.cursor = Ext.num( this.cursor, 0 );
Labels:   ExtJs    DHtml  
Trackback:   http://cwq.iou1314.com/extjs-gridfilters-pagingtoolbar_a315
微博最近更新
[2010-07-31 16:33]    今天下午又将昨天赢的哎齐出来了,郁闷,一进一出,要有入没出才行啊。
[2010-07-31 07:40]    昨晚又去啊泄度开台,呢次赢左差唔多3旧水,下周星期一请假,回郁南去转社保和入党资料。
本站内的任何文章,只代表个人意见或学习所用,如有版权声明,请尊重作者的劳动成果,在转载时请保留原始链接并注明出处。
Power by David's PhpCms, © 2007 - 2010 CWQ.IOU1314.COM All Rights Reserved.