jquery - jqgrid - JSON 响应中 colModel 的 json 循环问题

标签 jquery jqgrid

这是 jqgrid - json looping issue 的延续不同之处在于我已将 colNamescolModel 移至 JSON。

JSON

{
    "colModel": [
        {
            "name": "linkimg",
            "index": "linkimg",
            "width": 60,
            "align": "left",
            "jsonmap": "cells.0.links"
        }
    ],
    "colNames": [
        "linkimg"
    ],
    "mypage": {
        "outerwrapper": {
            "page": "1",
            "total": "1",
            "records": "1",
            "innerwrapper": {
                "rows": [
                    {
                        "id": "1",
                        "read": true,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-A",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    },
                                    {
                                        "name": "link3"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "2",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-B",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "3",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-C",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "4",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-D",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "5",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-E",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "6",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-F",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "7",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-G",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "8",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-H",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "9",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-I",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "10",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-J",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "11",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-K",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "12",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-L",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "13",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-M",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "14",
                        "read": false,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-N",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": "15",
                        "read": true,
                        "cells": [
                            {
                                "label": "linkimg",
                                "value": "Link-O",
                                "links": [
                                    {
                                        "name": "link1"
                                    },
                                    {
                                        "name": "link2"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    }
}

JQGrid定义

$(document).ready(function () { 
    $.ajax({
        type: "GET",
        url: "myjqgrid.json",
        data: "",
        dataType: "json",
        success: function(response){
            var columnData = response.mypage.outerwrapper,
                columnNames = response.colNames,
                columnModel = response.colModel;

            $("#myjqgrid").jqGrid({
                datatype: 'jsonstring',
                datastr: columnData,                
                colNames: columnNames,
                colModel: columnModel,
                jsonReader: {
                    root: "innerwrapper.rows",              
                    repeatitems: false
                },
                gridview: true,
                pager: "#Pager",
                rowNum: 2,
                rowList: [2, 4, 6, 8],
                viewrecords: true,              
                recordpos: 'left',
                multiboxonly: true,
                multiselect: true,
                sortname: 'id',
                sortorder: "desc",  
                sorttype: "text",   
                sortable: true,
                caption: "<h2>My JQGrid</h2>",
                width: "1406",      
                height: "100%",
                scrolloffset: 0,    
                loadonce: true,     
                cache: true,
                loadComplete: function(data){

                }
            });
        }
    });
    $("#myjqgrid").jqGrid('navGrid','#Pager');

});

问题

如何从 colModel 中取出 formatter:?如果我将其保留为 JSON,则 jqgrid 不会显示。

最佳答案

如果不需要unformatter您可以使用格式化程序扩展预定义格式化程序的列表:

$.fn.fmatter.myLinkFormatter = function (val, options, rawObject) {
    ....
};

然后在列定义中使用"formatter": "myLinkFormatter"

{
    "colModel": [
        {
            "name": "linkimg",
            "index": "linkimg",
            "width": 60,
            "align": "left",
            "formatter": "myLinkFormatter",
            "jsonmap": "cells.0.links"
        }
    ],
    "colNames": [
        "linkimg"
    ],
    "mypage": {
        "outerwrapper": {
        ...
    }
}

参见the demo .

还有一点:您应该像我一样将 $("#myjqgrid").jqGrid('navGrid','#Pager'); 移动到 success 处理程序内部在演示中完成。

关于jquery - jqgrid - JSON 响应中 colModel 的 json 循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8658540/

相关文章:

jquery - ASP.NET Web 表单 + jQuery

jqgrid - 如何在jqgrid中实现行级验证

javascript - 根据浏览器语言重定向

javascript - 如何在 Rails 3 中使用确认对话框远程删除后调用 JavaScript 函数

javascript - 如何在 jqGrid 中填充哪些单元格未被编辑的单元格

jquery - jqGrid/ui-widget-overlay 阻止整个页面上的所有按钮和选项卡事件

jqgrid - 编辑时如何获取jqGrid单元格值

jquery - 设置默认 colModel

javascript - jQuery 幻灯片,转到上一张图片

jQuery删除确认框