2010-11-30 3 views
1

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

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

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

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


Edit: OK вот как далеко я получил

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

http://cablegate.politicswiki.ie/test.html, где я сейчас.

+0

см. Ответ здесь: http://stackoverflow.com/questions/4317646/jqgrid-returns-blank-cells/4326986#4326986 – Oleg 2010-12-01 21:38:34

ответ

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 в сценарии и сделать это таким образом.

+0

Первое звено имеет смысл, но бесполезно, как я объяснил пользователю158913, однако второй Я не уверен, насколько это актуально. В любом случае ни один из них не является полезным, поэтому, если вы посмотрите на редактирование, которое я сделал на исходный вопрос, вы можете увидеть, к чему я пришел, и, возможно, смогу помочь мне оттуда? – 2010-11-30 16:03:10

+0

Существует хорошая документация по этому вопросу: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jqgriddocs Понадобилось время, чтобы найти, что – methodin 2010-12-06 16:21:33

1

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

+0

Да, я посмотрел на это, довольно редкая документация действительно без примеров использования альтернативных json-форматов – 2010-11-30 16:01:52

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

Смежные вопросы