`
leon1509
  • 浏览: 536725 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ext grid filter和java后台的整合使用

阅读更多
首先Ext的grid2.2版本好像在ie下图片格式不正确,主要是css样式表的问题,换成ext.2.1.css的就行了。

官方的例子:http://extjs.com/deploy/dev/examples/grid-filtering/grid-filter.html

过滤的时候传回去的参数是这个样子的:
dir ASC filter[0][data][comparison] gt filter[0][data][type] numeric filter[0][data][value] 11 filter[0][field] id filter[1][data][comparison] lt filter[1][data][type] date filter[1][data][value] 04/20/2009 filter[1][field] date filter[2][data][type] list filter[2][data][value] small,medium filter[2][field] size limit 15 sort company start 0


什么怪东西,估计是Php用起来比较方便的格式,所以要修改一下GridFilters.js的代码: 替换原来有的
buildQuery: function(filters){ 
     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){
                     if(!p[name]) p[ name ] = '';
                     p[ name ] += f.data['comparison']+'@'+value+',';
               }else{
                     p[ name ] = value;
               }
          }
      }
      return p;
},


这样传到后台参数就是例如:

name为aaa,
num小于100大于20,
date在2009-1-1到2009-1-2号之间:
name = aaa
num = gt@20,lt@100,
date = gt@2009-1-1,lt@2009-1-2,

后来解析一下这种格式以后拼接sql语句:
//获取一个范围的字符串

private String getOneSymbol(String sym,String n){
     String temp1 = this.getSuffix(sym.split("@")[0]);
     String temp2 = sym.split("@")[1];
     if(temp2.indexOf("-") != -1)
           return n+" "+temp1+ " '"+temp2+"' ";
     else
           return n+" "+temp1+" "+temp2+" ";
}

//获取有两个范围的字符串

private String getTwoSymbol(String[] sym,String n){
      String temp1 = this.getOneSymbol(sym[0],n);
      String temp2 = this.getOneSymbol(sym[1],n);
      return temp1+" and " +temp2;
}

//解析范围字符串

private String analysis(String str,String n){
      if(str != null){
          if(str.indexOf(",") != -1){
                String[] strs = str.split(",");
                if(strs.length == 1)
                       str = this.getOneSymbol(strs[0],n);
                else
                       str = this.getTwoSymbol(strs,n);
          } else{
               return n + " like '%"+str+"%'";
        }
      }
      return str;
}


我注:经实际操作,做到第二步就够了,后台得到的就是页面上的具体参数
分享到:
评论
1 楼 zhengbin917943 2010-10-15  
没看明白

相关推荐

    Ext grid filter

    在实际应用中,使用Ext Grid Filter可以提升用户体验,使用户能更高效地管理和分析数据。同时,对于开发人员来说,理解和掌握这个组件的用法和API是构建强大数据展示和分析界面的关键技能之一。

    ext json请求java后台返回集合数据

    标题中的“ext json请求java后台返回集合数据”指的是在Web开发中,前端EXTJS库通过JSON格式发送请求到Java后台,后台处理后返回一个集合(可能是列表或数组)的数据。EXTJS是一个用JavaScript编写的富客户端框架,...

    Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。

    Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。Ext grid中渲染进度条,超帅 源码-----下载不扣分...

    Ext Grid 导出Excel

    在IT领域,特别是Web开发中,Ext Grid是一个广泛使用的组件,用于展示和管理大量数据。它提供了丰富的功能,包括排序、筛选、分页等,使得数据的交互和操作变得非常便捷。当我们需要将Ext Grid中的数据导出为Excel...

    一个很好的EXTGRID实例

    1. **数据绑定**:EXTGRID能够与后台数据源进行双向绑定,即当用户在界面上操作时,数据会自动更新到服务器;反之,服务器的数据变化也会实时反映到网格中。 2. **列配置**:EXTGRID允许自定义列,包括列宽、标题、...

    ext grid json分页显示

    在IT领域,尤其是在Web开发中,"ext grid json分页显示"是一个常见的需求,它涉及到前端数据展示和后端数据交互的关键技术。本例中提到的解决方案是利用DWR(Direct Web Remoting)和EXT.js库来实现。下面将详细阐述...

    ext grid 导出 excel

    综上所述,EXT Grid导出Excel涉及到的技术主要包括EXT Grid的数据操作、XLSX.js库的使用、自定义按钮和事件处理、文件下载触发机制以及可能的样式转换和性能优化。通过这些技术,我们可以实现EXT Grid数据的便捷导出...

    JSP中使用EXT实现grid table

    在JavaServer Pages (JSP) 开发中,EXT 是一个流行的JavaScript 框架,它提供了丰富的用户界面组件,包括Grid(数据网格)和Table。EXT 提供了一种优雅的方式来展示和操作数据,尤其适用于创建交互式的Web应用程序,...

    EXT GRID使用

    EXT GRID使用EXT GRID使用 EXT GRID使用EXT GRID使用

    ext grid 合并行

    4. **使用CellContext**:EXT Grid的`CellContext`对象可以帮助我们定位和操作单元格。在自定义渲染器中,可以使用`CellContext`来获取当前单元格的位置,并据此调整其样式,比如设置`colspan`属性来合并列。 5. **...

    Ext grid与树实例

    通过这种方式,你可以逐步掌握Ext Grid和Tree的使用,从而在实际项目中更灵活地运用这些组件。记住,实践是最好的老师,不断试验和探索,你将能够更好地掌握Ext JS的精髓。在开发过程中,你还可以参考Ext JS的官方...

    jq-extgrid v1.2 表格插件

    extgrid 是一款jquery上的gird插件 界面风格采用了类似easyui extjs 界面风格样式 可通过css修改自己想要的样式 extgrid具有列大小 位置改变 排序 分组 分页 工具栏 扩展行 rowNumber 多选列 编辑列 行列锁 ajax...

    ext grid数据绑定

    本文将深入探讨"EXT Grid数据绑定"这一主题,包括数据查找和如何将查找结果重新填充到Grid中。 EXT Grid的核心是其数据模型(Data Model)和视图(View)。数据模型负责存储和管理数据,而视图则负责渲染这些数据到...

    ext grid 显示数据

    通过阅读"5_使用Grids显示数据.doc"文档,你可以更深入地了解EXT JS Grid的用法和实践,包括如何配置和使用上述功能,以及解决实际项目中的问题。掌握EXT JS Grid的使用,对于提升前端数据展示的效率和用户体验有着...

    EXT grid导出EXCEL

    EXT Grid是一款基于JavaScript的强大的数据网格组件,广泛用于Web应用程序中展示、操作和管理大量结构化数据。它提供了丰富的功能,如排序、过滤、分页、编辑等,并且支持自定义列、行以及多种交互模式。在EXT Grid...

    ext grid网格控件实例

    同时,理解EXT JS的数据模型和数据绑定机制对于深入使用EXT Grid至关重要。 总结起来,EXT Grid网格控件提供了强大的数据展示和管理功能,支持多种数据源,结合JSP和其他J2EE框架,可以构建出高效、动态的Web应用。...

    ext grid tree 应用

    在EXT JS框架中,"ext grid tree 应用"是一个常见的功能组合,它结合了Grid面板和Tree面板的优势,用于展示复杂的数据结构。Grid通常用于显示二维表格数据,而Tree则用于展示层次化的数据。在这个例子中,开发者通过...

    Ext grid 导出Excel

    首先,Ext JS是一个强大的JavaScript UI框架,它提供了丰富的组件库,包括数据网格(Grid),用于展示和操作大量结构化的数据。Ext Grid允许用户筛选、排序、分页以及编辑数据,是企业级应用中常用的数据展示工具。 ...

    几种Ext后台模板和网站后台模板

    总的来说,这个压缩包文件提供了一组使用Ext JS和其他前端技术创建的后台界面模板,涵盖了多种设计风格和功能特性。对于想要学习或改进后台系统UI的开发者来说,这是一个宝贵的资源,可以帮助他们节省时间和提高开发...

    Ext grid 分页实例源码

    Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码Ext grid PagingToolbar分页实例源码

Global site tag (gtag.js) - Google Analytics