1.修改默认的json格式为key:value

修改前

rows: [{id:'ZW',cell:['ZW','ZIMBABWE','Zimbabwe','ZWE','716']},{id:'ZW',cell:['ZW','ZIMBABWE','Zimbabwe','ZWE','716']}]

修改后

rows: [{id:'1',name:'Anson',sex:'男',email:'chents@gpcsoft',qq:'75526201'},{id:'2',name:'Anson',sex:'男',email:'chents@gpcsoft',qq:'75526201'}]

源码修改说明

找到 if (p.dataType=='json')

将其后的大括号{}内容改为:

$.each     (     data.rows,     function(i,row)     {     var tr = document.createElement('tr');     if (i % 2 && p.striped) tr.className = 'erow';
    if (row.id) tr.id = 'row' + row.id;
    //by anson QQ:75526201 chents@gpcsoft.com  转载请保留 var tdVal = [];
    //给每行添加id     if (p.rowId){
    $.each( data.rows[i], function(x,y){
    if(p.rowId==x){tr.setAttribute('id',y);     }

})     }
    if (p.colModel){
    for (j=0;j<p.colModel.length;j++){
    var cm = p.colModel[j];     //取列名 var seleceName = cm.name;     //过滤key     $.each( data.rows[i], function(x,y){
    if(seleceName==x){tdVal.push(y)}
    })
    }     }
    //add cell     $('thead tr:first th',g.hDiv).each     (     function ()     {
    var td = document.createElement('td');     var idx = $(this).attr('axis').substr(3);     td.align = this.align;     td.innerHTML = tdVal[idx];     //td.innerHTML = row.cell[idx];     $(tr).append(td);     td = null;     }     );
    if ($('thead',this.gDiv).length<1) //handle if grid has no headers     {

for (idx=0;idx<cell.length;idx++)     {     var td = document.createElement('td');     //td.innerHTML = row.cell[idx];     td.innerHTML = tdVal[idx];     $(tr).append(td);     td = null;     }     }
    $(tbody).append(tr);     tr = null;     }     );

2.加入checkbox

只要设置checkbox:true即可在前面显示多选框

源码修改说明

a.找到 $('div:eq('+n+')',g.cDrag).css({'left':cdpos+'px'}).show();

替换为:

//添加多选框 if (p.checkbox) { $('div:eq('+n+')',g.cDrag).css({'left':cdpos+22+'px'}).show(); } else{ $('div:eq('+n+')',g.cDrag).css({'left':cdpos+'px'}).show(); }

b.找到//add cell

前面插入:

//添加多选框 if (p.checkbox) {

var cth = $('<th/>');
    var cthch = $('<input type="checkbox" value="' + $(tr).attr('id') +'"/>');
    var objTr = $(tr);
    cthch.addClass("noborder").click(function(){
    if(this.checked){

objTr.addClass('trSelected');     }     else{     objTr.removeClass('trSelected');     }     })
    cth.addClass("cth").attr({ width: "22"}).append(cthch);

$(tr).prepend(cth);

}

c.找到$(this).toggleClass('trSelected');

后面插入:

//添加多选框 if(p.checkbox){ if($(this).hasClass('trSelected')){ $(this).find('input')[0].checked=true; } else{ $(this).find('input')[0].checked=false } }

d.找到if ($('th',g.hDiv).length)

在其后的{}大括号中加入

//添加多选框 if (p.checkbox) {     $('tr',g.hDiv).each(     function(){

var cth = $('<td/>');
    var cthch = $('<input type="checkbox"/>');
    cthch.click(function(){     if(this.checked){     $('tbody tr',g.bDiv).each(function(){     $(this).addClass('trSelected').find('input')[0].checked=true;     })     }     else{
    $('tbody tr',g.bDiv).each(function(){     $(this).removeClass('trSelected').find('input')[0].checked=false;     })     }     })
    cth.addClass("cth").attr({ width: "22" }).append(cthch);
    $(this).prepend(cth);
    })     };

e.找到p = $.extend({

添加一条默认设置

checkbox:false,//是否要多选框

flexigrid 修改json格式的更多相关文章

  1. DataSnap Server HTTP json格式修改 返回图片

    DataSnap Server HTTP json 格式修改  http://127.0.0.1:8080/datasnap/rest/TServerMethods1/EchoString/hello ...

  2. 修改 mvc webapi 默认返回 json 格式

    web api 默认的已 xml 格式返回数据 现在开发一般都是以 json 格式为主 下面配置让 webapi 默认返回 json ,在需要返回 xml 时只需要加一个查询参数 datatype=x ...

  3. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  4. 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据

    有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...

  5. plist文件、NSUserDefault 对文件进行存储的类、json格式解析

    ========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...

  6. Struts2返回json格式数据踩坑记录

    事件起因 昨天提测修改冻结/解冻银行卡样式的功能,微姐测试过程中发现调用ajax请求耗时过长,今天来排查,发现浏览器请求/finance/ajax/freeze/ajaxGetShopLists时,对 ...

  7. WP8解析JSON格式(使用DataContractJsonSerializer类)(推荐)

    DataContractJsonSerializer是.NET自带的类,在解析JSON格式的时候使用起来方便快捷,至于生成方面由于暂时没用到就没去看了.使用需要引用System.Runtime.Ser ...

  8. MVC学习系列6--使用Ajax加载分部视图和Json格式的数据

    Ajax的应用在平时的工作中,很是常见,这篇文章,完全是为了,巩固复习. 我们先看看不使用json格式返回分部视图: 先说需求吧: 我有两个实体,一个是出版商[Publisher],一个是书[Book ...

  9. ArcGIS Server,rest路径输入要素json 格式描述

    以下内容只测试了简单线, 在ArcGIS Server 的rest路径下可以对服务进行操作,如Query等,这些操作可以输入json 格式要素描述或运行得到即输出json格式要素描述. 如博客:htt ...

随机推荐

  1. Android设备定制为永不锁屏

    Android系统的锁屏时间存放在Setting数据库中,字段为Settings.System.SCREEN_OFF_TIMEOUT.查看 DatabaseHelper.java文件可以找到: fra ...

  2. Multiscale Combinatorial Grouping 学习和理解源代码(一)

    目标探测由于所做的最新研究.因此,这一领域的一般阅读文章.发现这篇文章,效果是比较新的比较好.在如此仔细研究.贴纸和共享.下面已经发布若干个连续的,分别对论文和代码进行大致地介绍,最后依据自己的实验对 ...

  3. error: ‘for’ loop initial declarations are only allowed in

    使用gcc,出现如下错误: thread_join.c:7:5: error: 'for' loop initial declarations are only allowed in C99 mode ...

  4. 【树形贪心】【UVA1267】Network

    重要意义:复习好久没写的邻接表了. Network, Seoul 2007, LA3902 Consider a tree network with n nodes where the interna ...

  5. oracle ORA_ROWSCN 行记录的更新时间

    在这介绍两个oracle 10G开始提供的一个伪列ORA_ROWSCN,它又分为两种模式一种是基于block,这是默认的模式,还有一种是基于row上,这种模式只能在建里表时指定ROWDEPENDENC ...

  6. NPOI兼容 excel2003,2007版本

    根据项目需要,需要对excel进行导入导出,所以选择NPOI,优点在这里就不详细介绍了,下面进入正题. public int Import(string path) { IList<Studen ...

  7. javascript模式——Flyweight

    Flyweight是一种共享数据内存的模式. Flyweight模式是将一些公有属性从个人中剔除,放在共享的对象当中. 下面以一个项目实例,通过不断的改进,以显示Flyweight模式的优点. 现在我 ...

  8. hibernate报错:org.hibernate.MappingException: No Dialect mapping for JDBC type: -1

    解决方法:自定义一个Hibernate Dialect. package com.yourcompany.util ; import java.sql.Types; import org.hibern ...

  9. VS2003,安装程序检测到另一个程序…

    昨天在安装Visual Studio .Net 2003时,出现一个对话框   "安装程序检测到另一个程序要求计算机重新启动.必须重新启动计算机后才能安装visual studio.net系 ...

  10. hdu2206IP的计算

    Problem Description 在网络课程上,我学到了很多有关IP的知识.IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方 ...