JqGrid с Google Fusion Tables

Попытка заставить jqGrid работать со сводными таблицами Google.

Кажется, не могу найти событие в jqGrid, которое позволяет вам контролировать, откуда оно получает данные.

Примет эквивалентный движок таблиц javascript, который лучше справляется с этой задачей.

Если бы вы могли дать ссылку на пример или предоставить его в своем ответе, спасибо.


Редактировать: Хорошо, вот как далеко я продвинулся

Я знаю, как заставить jqGrid запрашивать сводные таблицы Google, но я не могу заставить его анализировать JSON. Кажется, я не могу найти достойную документацию для части jsonreader jqGrid, которая объясняет, что делает каждая переменная.

http://cablegate.politicswiki.ie/test.html — вот где я сейчас нахожусь.


person Community    schedule 30.11.2010    source источник
comment
см. ответ здесь: stackoverflow.com/questions/4317646 /jqgrid-returns-blank-cells/   -  person Oleg    schedule 02.12.2010


Ответы (3)


Кажется, довольно много гибкости:

http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3aretrieving_data http://www.trirand.com/jqgridwiki/doku.php?id=wiki%3acolmodel_options

В худшем случае вы можете преобразовать Google Fusion в XML или JSON в скрипте и отобразить его таким образом.

person methodin    schedule 30.11.2010
comment
Первая ссылка имеет смысл, но бесполезна, как я объяснил пользователю 158913, однако вторая, я не уверен, насколько она актуальна. В любом случае ни один из них не полезен, поэтому, если вы посмотрите на редактирование, которое я внес в исходный вопрос, вы увидите, к чему я пришел, и, возможно, сможете помочь мне оттуда? - person ; 30.11.2010
comment
По нему есть хорошая документация: trirand.com/jqgridwiki/doku.php ?id=wiki:jqgriddocs Мне потребовалось некоторое время, чтобы найти это - person methodin; 06.12.2010

Это не событие, а свойство. См. пример здесь: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data Вы можете определить источник данных как JSON, функцию, xml и т. д.

person Vadym Chekan    schedule 30.11.2010
comment
Да, я просмотрел это, довольно скудная документация, действительно без примеров работы с альтернативными форматами json. - person ; 30.11.2010

Это должно работать:

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 столбца ident на id, так как это имя, которое Google Fusion Tables отправляет, вы можете оставить метку как ident, если хотите.

person BAH    schedule 01.12.2010
comment
Мне нравится использовать функции в jsonReader, но простые настройки cell: "", root: "table.rows" внутри jsonReader уже решат проблему (см. мой ответ на тот же вопрос в разделе stackoverflow.com/questions/4317646/jqgrid-returns-blank-cells/) - person Oleg; 03.12.2010