`

flexigrid colModel 二维json

 
阅读更多

   后台代码:

            private List《RlEmployee》 rows;

 

   这个就是要在前台显示的rows。但是问题是我的RlEmployee是这样的:

       private Integer empId;
       private RlDepartment rlDepartment;
       private RlPosition rlPosition;
       private String empUserName;

       ……略
  这里又有两个对象,就是RlDepartment 和RlPosition ,分别代表“部门”和“职位”,也就是我数据库中表之间的关系,这些pojo是用hibernate自动生成的。在数据库中RlEmployee这张表之存了“部门ID”和“职位ID”。这两个POJO如下:

 

RlDepartment :

      private Integer depId;
      private String depName;
      private Integer parentId;
      private String remark;

 

 RlPosition 略。大致差不多。

 

现在问题是我在前台想输出“部门名称----depName这个属性”。

 

原本以为在前台 colModel中这么定义即可:{display : "部门", name : "rlDepartment.depName", width : 100, sortable : true}

 

但是flexigrid根本就不支持这种写法……所以就想通过process里写方法来达到目的,但是失败了……所以就看了下flexigrid的源码。发现只要在tdVal.push(y)之前再进行遍历一遍即可……

讲flexigrid的源代码改了两处:

1.

           // 取列名
            var seleceName = cm.name;

          //在这里加上下句,然后在colModel中加入subname这个属性,表示需要获取的对象中的属性名。
            var subName = cm.subname;

2.

            // 过滤key
            $.each(data.rows[i], function(x, y) {
                 if (seleceName == x) {

                      //这里再进行了2次遍历
                      /**
                         * 判断y是不是对象,如果是对象就再次进行遍历,在colModel中加入
                          * 属性subname,表示需要获取的对象中的属性。
                         */
                       if(typeof(y)=='object'){
                       if(y != null){
                          $.each(y, function(x, y) {
                              if(subName == x){
                                   tdVal.push(y);
                              }
                         });
                       }


                  }else{
                   tdVal.push(y);
                  }
                 }
                })

 然后再把colModel改为 {display : "部门", name : "rlDepartment",subname:"depName"}

分享到:
评论

相关推荐

    flexigrid的colModel中增加新列

    在本篇文章中,我们将深入探讨如何在Flexigrid的`colModel`中添加自定义的新列。Flexigrid是一款基于jQuery的表格插件,它能够帮助开发者快速地创建功能丰富的数据表格。通过阅读本文,您将了解到如何利用Flexigrid...

    采用 LINQ to SQL+ Flexigrid for JQuery and Json 创建的ASP.NET MVC 模式程序例子

    在本示例中,我们探讨的是如何利用LINQ to SQL、Flexigrid for JQuery和Json技术来构建一个ASP.NET MVC模式的应用程序。首先,让我们逐一深入理解这些技术及其在项目中的作用。 **LINQ to SQL**(Language ...

    flexigrid的json格式使用说明

    对于flexigrid的使用,各个参数的意义应该不用解释,网上资料很多。插件接收的数据格式对于刚接触的人来说是个麻烦,这是一位兄台的整理,不尽完美但会告诉你如何封装格式。

    jquery+flexigrid+json的java例子(网上收集的)

    在“jquery+flexigrid+json的java例子”中,Flexigrid可能被用于创建一个可交互的数据表格,用户可以方便地查看、排序和过滤JSON格式的数据。 **JSON** JSON(JavaScript Object Notation)是一种轻量级的数据交换...

    flexigrid+struts2+json+jquery实例

    在这个实例中,Flexigrid与Struts2、JSON和jQuery进行了集成,构建了一个功能丰富的Web应用。 Struts2是Apache软件基金会的一个开源MVC框架,用于构建Java Web应用程序。它提供了强大的动作调度、拦截器机制以及...

    jquery插件之flexigrid学习实例

    在这个"jquery插件之flexigrid学习实例"中,我们将深入探讨如何在Struts2框架下结合JSON进行数据交互,以实现一个完整的应用。 首先,我们需要了解Flexigrid的基本使用方法。在HTML页面中,我们需要引入jQuery库和...

    jquery插件之flexigrid学习实例-jar包

    在"jquery插件之flexigrid学习实例-jar包"中,我们主要关注的是如何将Flexigrid集成到基于Struts2和JSON的Java应用中。以下是对这个主题的详细讲解: 首先,让我们了解Flexigrid。Flexigrid是一款轻量级的...

    FlexiGrid配置与使用

    此外,FlexiGrid支持通过JSON格式的数据来动态填充表格,这要求服务器端返回的数据结构符合约定,通常是以数组形式的键值对,其中键对应于`colModel`中定义的`name`。 总的来说,FlexiGrid的配置和使用涉及到前端...

    flexigrid.js flexigrid.js flexigrid.js

    2. **数据源**:Flexigrid.js可以与各种数据源配合使用,包括JSON、XML、CSV等,只需提供正确的数据格式和URL,就能动态加载和展示数据。 3. **功能丰富**:它内置了多项功能,如排序(asc/desc)、分页、搜索、...

    jquery flexigrid

    在实际应用中,Flexigrid通常与后端服务器端框架(如PHP、ASP.NET、Java等)配合使用,通过JSON或XML格式交换数据。服务器端负责处理查询请求,返回符合格式的数据,而Flexigrid负责解析并渲染到表格中。这种前后端...

    Flexigrid与struts2的整合使用说明

    使用Struts2的Result类型(如JsonResult或FreemarkerResult)来返回JSON格式的数据,这些数据将被Flexigrid解析并显示在网格中。 Flexigrid的实例: 一个简单的例子可能是从数据库查询用户列表并显示在Flexigrid中...

    flexigrid相关

    例如,`width`用来设置表格的宽度,`height`设置高度,`colModel`定义列的属性,`url`指定数据来源,`dataType`指明数据类型(如JSON或XML)等。 最后,`flexigrid`文件可能是一个压缩包内的目录,包含了插件的其他...

    flexigrid 深入

    通过研究这些文件,你可以深入了解Flexigrid的内部工作原理,以及如何对其进行二次开发和扩展。 总结来说,Flexigrid是一个功能强大的表格插件,适合用于需要大量数据展示和管理的Web应用。通过学习和掌握Flexigrid...

    jquery FlexiGrid与asp.net 后台交互例子

    - FlexiGrid的请求通过AJAX发送到后台,后台处理数据后返回JSON或XML响应,FlexiGrid解析并渲染数据。 3. **CRUD操作** - **创建(Create)**: 用户在前端填写新数据,点击“添加”按钮,FlexiGrid将数据以JSON...

    flexigrid 重写版

    在这个"Flexigrid 重写版"中,开发者对原版Flexigrid进行了改造,主要涉及JSON格式的处理、右键菜单功能的添加以及行绑定功能的增强。 首先,关于JSON格式的重写,原版Flexigrid通常接收服务器返回的JSON数据来填充...

    Flexigrid使用实例

    Flexigrid是一款强大的JavaScript数据网格插件,常用于创建数据密集型Web应用,提供分页、排序、过滤和自定义列等功能。它以其灵活性、可定制性和高效的性能在开发社区中受到广泛欢迎。本篇文章将深入探讨Flexigrid...

    jquery表格插件Flexigrid

    4. **插件初始化**:通过调用`$.fn.flexigrid`函数来初始化表格,需要传入一系列配置参数,如colModel(列定义)、url(数据源)、method(请求方式)等。colModel定义了每一列的字段名、宽度、对齐方式等属性。 5....

    jquery插件之flexigrid篇

    开发者可以通过设置各种参数,如colModel定义列的属性,params设置请求参数,以及url指定数据来源,实现数据的加载和操作。 标签“jquery”表明这是关于JavaScript库jQuery的知识,而“flexigrid”则强调了我们讨论...

    flexigrid,数据显示控件

    4. 数据格式:Flexigrid通常通过JSON格式从服务器获取数据。返回的数据应包含每行记录的数组,以及必要的分页信息。 三、Flexigrid的扩展与优化 1. 插件扩展:Flexigrid具有良好的扩展性,开发者可以编写自定义...

Global site tag (gtag.js) - Google Analytics