1

试图让 jqGrid 与谷歌融合表一起工作。

似乎无法在 jqGrid 中找到允许您控制从何处获取数据的事件。

将接受可以更好地完成这项工作的等效 javascript 表引擎。

如果您可以链接到一个示例或在您的答案中提供一个示例,谢谢。


编辑:好的,这是我已经走了多远

我知道如何让 jqGrid 请求 Google 融合表,但我无法让它解析 JSON。对于 jqGrid 的 jsonreader 部分,我似乎找不到任何体面的文档来解释每个变量的作用。

http://cablegate.politicswiki.ie/test.html是我目前所在的位置。

4

3 回答 3

1

似乎有相当多的灵活性:

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options

更糟糕的情况是,您可以在脚本中将 Google Fusion 转换为 XML 或 JSON 并以这种方式呈现。

于 2010-11-30T03:10:25.963 回答
1

它不是事件而是财产。请参见此处的示例:http ://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data 您可以将数据源定义为 JSON、函数、xml 等。

于 2010-11-30T03:26:47.330 回答
0

这应该有效:

jsonReader: {
    repeatitems: false,
    root: function (obj) { 
        var rows = new Array();
        for(var rowNum = 0; rowNum < obj.table.rows.length; rowNum++)
        {
            var row = new Object();
            for (var colNum = 0; colNum < obj.table.cols.length; colNum++) {
                row[obj.table.cols[colNum]] = obj.table.rows[rowNum][colNum];
            }
            rows.push(row);
        }
        return rows;
    },
    page: function (obj) { return 1; },
    total: function (obj) { return 1; },
    records: function (obj) { return obj.table.rows.length; }
}

并且不要忘记将列的name属性更改为 Google Fusion Tables 发送时使用的名称,您可以随意保留标签。identidident

于 2010-12-01T23:16:57.690 回答