`
luven
  • 浏览: 5690 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于EXT filter的解决方案

    博客分类:
  • EXT
阅读更多
EXT官方的例子是针对PHP写的,对于java程序员所以我们需要改进一下,用firebug调试下我们发现,post到后台的数据的'name'很怪,java处理起来比较麻烦.看他的源代码我们发现buildQuery就是设置传到后台参数的方法.
其他的不变,改变如下:
var p = {};
for(var i=0, len=filters.length; i<len; i++) {
  var f = filters[i];
  var name = f.field;     
  var value = f.data['value'];
  if( value != null ){
    if(f.data['comparison']!=null){
      p[ name ] = f.data['comparison']+'@'+value;
    }else{
      p[ name ] = value;
    }
  }
}
return p;
这样的话我们在后台通过request.getParameter('username');就可以获得我们在filters设置的值,如
var filters = new Ext.grid.GridFilters({
  filters:[
   {type: 'string', dataIndex: 'username'},
   {type: 'string', dataIndex: 'password'},
   {type: 'string',  dataIndex: 'companyname'},
   {type: 'date', dataIndex: 'registdate'}
  ]
});
获得到了这些值后就是拼sql的事情了.

有个问题就是:我过滤后搜索结果正确,但是当我把该filter前的checkbox去掉的话,结果还是开始的搜索条件,当点击分页的刷新的时候数据又是正确的.今天太晚了,明天继续研究...哪位大侠也碰到这样的问题的话,希望也可以告诉我下.谢谢先!
分享到:
评论
5 楼 haiwei2009 2009-12-14  
haiwei2009 写道
chenyangjia 写道
有个问题就是:我过滤后搜索结果正确,但是当我把该filter前的checkbox去掉的话,结果还是开始的搜索条件,当点击分页的刷新的时候数据又是正确的.

这个问题这样解决

if(!f.active)
filters.push({field: f.dataIndex, data: ''});


请问这段代码加到GridFilters.js文件里的哪个方法啊,我加在getFilterData方法里不管用啊,谢谢


经过一天的跟踪,这个问题我是这样解决的:
我把GridFilters.js这个文件里的getFilterData方法里面的if(f.active)条件直接删除就可以了,只要它里面的内容,改完如下显示:
this.filters.each(function(f){
var d = [].concat(f.serialize());
for(var i=0, len=d.length; i<len; i++){ filters.push({
field: f.dataIndex,
data: d[i]
});
}
});
4 楼 haiwei2009 2009-12-09  
chenyangjia 写道
有个问题就是:我过滤后搜索结果正确,但是当我把该filter前的checkbox去掉的话,结果还是开始的搜索条件,当点击分页的刷新的时候数据又是正确的.

这个问题这样解决

if(!f.active)
filters.push({field: f.dataIndex, data: ''});


请问这段代码加到GridFilters.js文件里的哪个方法啊,我加在getFilterData方法里不管用啊,谢谢
3 楼 youzi520 2009-04-15  
能否给个完全的例子
后台如何获取前台的filters
前台要注意什么?
2 楼 manu82gf 2008-12-23  
为何我在Firefox里面调试的时候,查看控制台,post里面看不到filter相关的参数,只有
dir ASC
limit 15
sort company
start 0
这几个参数
1 楼 chenyangjia 2008-12-19  
有个问题就是:我过滤后搜索结果正确,但是当我把该filter前的checkbox去掉的话,结果还是开始的搜索条件,当点击分页的刷新的时候数据又是正确的.

这个问题这样解决

if(!f.active)
filters.push({field: f.dataIndex, data: ''});

相关推荐

    ext 图书管理系统

    EXT图书管理系统是一款基于EXT JavaScript库开发的Web应用程序,...综上所述,EXT图书管理系统利用EXT的强大功能,为图书馆或个人提供了全面、直观且易于使用的图书管理解决方案,实现图书信息的高效组织和便捷检索。

    extjs session失效解决方案

    使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了

    my-ramda-ext

    此外,"my-ramda-ext"可能包含了一些实用的辅助函数,比如类型检查、错误处理或性能优化的解决方案。 在纯与不纯的讨论中,"my-ramda-ext"可能会包含一些不纯的函数,这些函数可能涉及到副作用,例如I/O操作或者...

    关于强网拟态题目 EasyFilter1

    标题中的“关于强网拟态题目 EasyFilter1”可能指的是一个网络安全或编程竞赛中的问题,具体涉及PHP...考生可能需要编写代码来模拟或修复题目中给出的特定问题,或者创建一个能够正确处理`php://filter`的解决方案。

    ExtJs实现EditGrid中的增删改查操作(2)

    在本文中,我们将深入探讨如何使用ExtJS框架实现EditGrid中的增删改查操作。ExtJS是一个强大的JavaScript库,主要用于构建富客户端Web...记得在实际项目中,根据需求进行适当的定制和优化,以提供最佳的业务解决方案。

    Extjs Ajax 乱码问题解决方案

    如果发现编码并非UTF-8,则可以通过配置web.xml中的filter来强制指定编码,例如使用SetCharacterEncodingFilter来指定编码为UTF-8。另外,也可以直接在web.xml中设置全局的字符编码,使得整个Web应用的request、...

    ExtJS4 2学习 21 动态菜单与表格数据展示操作总结篇

    在实际应用中,我们还可能遇到以下问题和解决方案: - 数据绑定:使用`Ext.data.Model`定义数据模型,通过`bind`属性将模型与表格列关联,实现数据的自动同步。 - 表格编辑:通过`Ext.grid.plugin.CellEditing`插件...

    office online server2016中文版 详细安装步骤

    Office Online Server 2016 中文版是 Microsoft 公司推出的在线办公服务器解决方案,旨在提供一站式的办公体验。以下是 Office Online Server 2016 中文版的详细安装步骤。 一、环境安装 在安装 Office Online ...

    ExtJS Chart 扩展 - 增加对数据的过滤等操作

    通过阅读博文链接(尽管在这里无法直接访问),我们可以获取更多关于这个特定扩展的详细信息,包括具体的实现方式、使用示例以及可能遇到的问题和解决方案。如果你希望深入理解ExtJS图表的过滤和其他数据操作,结合...

    ExtJs通用筛选查询控件

    ExtJs是一种基于JavaScript的富客户端应用开发框架,它由Sencha公司开发,提供了一套完整的组件化、MVC模式的前端开发解决方案。在ExtJs中,"通用筛选查询控件"是一个常见且实用的功能,它允许用户在数据网格中进行...

    Apress.Pro.Ajax.and.Java.Frameworks.Jul.2006.HAPPY.NEW.YEAR.rar

    JSON-P(JSON with Padding)也可能被提及,这是一种跨域数据交互的解决方案,适合于那些不支持CORS(Cross-Origin Resource Sharing)的旧浏览器。 最后,性能优化和最佳实践也是不可或缺的部分。这包括了减少HTTP...

    WEBX3.0框架指南(PDF版)

    - **框架的本质**:框架是为了解决一类问题而设计的一组可复用的软件组件。 - **基础框架**:WEBX3.0的基础构建于Spring框架之上,通过提供一系列扩展点来实现高度定制化的开发。 - **层次化**:框架被划分为多个...

    eAccelerator.dll for php5.3.8 nts

    点击Visual Studio 2008菜单“生成-&gt;配配置管理器-活动解决方案配置-Release-NTS-关闭”–&gt;“生成-&gt;生成eAccelerator” OK,这时候你会发现C:/phpsrc/ext/eaccelerator/win32/Release里面已经生成了一个...

    ajax + jquery + uploadbean

    UploadBean是Java后端处理文件上传的一种解决方案。它是一个服务器端的Java Bean,用于接收和处理来自客户端的文件上传请求。UploadBean通常与Servlet容器一起使用,可以方便地解析请求中的多部分数据,将文件保存到...

    ExtJS深入浅出介绍之数据存储于传输

    ExtJS是一种广泛应用于构建富客户端Web应用的JavaScript框架,它提供了丰富的组件库、强大的...无论是在数据获取、处理、展示还是交互方面,它都能提供高效且易于使用的解决方案,使得开发复杂的Web应用变得更加简单。

    ExtJS4 动态生成的grid导出为excel示例

    因此,我们需要借助第三方插件或者自定义的解决方案来实现这个功能。 在这个示例中,我们使用的是一段名为`export-all.js`的JavaScript代码,这个文件包含了实现导出功能所需的逻辑。首先,确保在HTML文件中正确...

    android DownloadManager

    总结,`Android DownloadManager`为开发者提供了一种简单、可靠的文件下载解决方案,其内置的断点续传功能使得大文件下载更加高效。通过合理配置`Request`对象和监听下载状态,我们可以轻松地在应用中集成这一功能,...

    Python-基于sqlalchemy自动化实现curddemo

    SQLAlchemy是Python中最受欢迎的ORM框架之一,它提供了一套完整的解决方案,包括数据库会话管理、事务处理、查询构造器以及强大的SQL表达式语言。本篇将详细讲解如何基于SQLAlchemy自动化实现CRUD(Create, Read, ...

    部署手册.docx

    本文档旨在指导用户从零开始部署Office Online Server 2016,包括部署过程中的关键步骤、注意事项以及可能遇到的问题及其解决方案。部署Office Online Server 2016能够为用户提供文档在线预览的功能,适用于各种规模...

    Python库 | SQLAlchemy-1.3.18.tar.gz

    SQLAlchemy具有良好的扩展性,可以与Flask、Django等Web框架集成,提供灵活的数据存储解决方案。此外,SQLAlchemy拥有活跃的社区,提供丰富的文档、教程和第三方扩展,帮助开发者解决各种问题。 **总结** ...

Global site tag (gtag.js) - Google Analytics