Я ищу простой пример того, как использовать SlickGrid при попытке получить данные как JSon через jQuery.Ajax. Я также не смог найти документацию о плагине SlickGrid, и мне было интересно, если бы я просто искал неправильные места. Любая помощь, которая поможет мне начать работу с SlickGrid, будет наиболее оценена.
Простой пример jQuery SlickGrid JSON или документация
Ответ 1
Пример на странице asp.net. Webservice myData
возвращает строку json, которая должна соответствовать столбцам сетки.
$(function () {
$.ajax({
url: "WS.asmx/myData",
global: false,
type: "POST",
data: "{}",
contentType: "application/json",
dataType: "json",
async: false,
success: function (json) {
data = eval('(' + json.d + ')');
if (!data) { alert('no data'); };
},
error: function (msg) {
var errorText = eval('(' + msg.responseText + ')');
alert('Error : \n--------\n' + errorText.Message);
}
}
);
if (data) {
dataView = new GridNic.Data.DataView();
grid = new GridNic.Grid($("#myGrid"), dataView.rows, columns, options);
var pager = new GridNic.Controls.Pager(dataView, grid, $("#pager"), columns);
var columnpicker = new GridNic.Controls.ColumnPicker(columns, grid, options);
... и т.д.
В Asp.Net размер строки json по умолчанию ограничен. В случае возникновения проблем вы должны объявить больший размер в файле web.config, например.
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000000">
</jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
Ответ 2
Пример AJAX в репозитории SlickGrid довольно сложный, поскольку он пытается запутаться в кешировании и т.д. Например, он отслеживает все уже отправленные строки и будет запрашивать только новые строки с сервера. Он также жестко закодирован для конкретного примера историй Digg. Документации очень не хватает, и она кажется ошибкой с версиями 1.5+ jQuery (которые изменили способ обработки ajax).
Мне было гораздо легче начать работу с помощью вилки Andrew Childs от SlickGrid, которая содержит очень простые и простые инструкции о том, как использовать AJAX внизу README:
Репозиторий находится в https://github.com/andrewchilds/SlickGrid
Ответ 3
Взгляните на example.
Если у SlickGrid нет примеров, посмотрите jqgrid.
Ответ 4
Решение прост, но они явно не указывают, как это сделать на своей странице wiki.
SlickGrid ожидает, что JSON будет в виде объекта. Поэтому, если по какой-либо причине это в строковой форме, просто используйте:
JSON.parse(jsonString);
Если вы загружаетесь из ajax, просто выполните это:
$.getJSON("file.json", function(data) {
grid = new Slick.Grid("#myGrid", data, columns, options);
}