Простой пример JQuery SlickGrid JSON или документация - PullRequest
12 голосов
/ 13 февраля 2011

Я ищу простой пример того, как использовать SlickGrid при попытке получить данные как JSon через jQuery.Ajax. Мне также не удалось найти какую-либо документацию по плагину SlickGrid, и мне было интересно, смотрю ли я в неправильных местах. Любая помощь, которая поможет мне начать работу со SlickGrid, будет очень признательна.

Ответы [ 4 ]

13 голосов
/ 19 апреля 2011

Пример AJAX в репозитории SlickGrid довольно сложный, потому что он пытается запутаться с кэшированием и т. Д. Например, он отслеживает все уже отправленные строки и будет запрашивать только новые строки с сервера.Это также жестко закодировано для конкретного примера рассказов Digg.Документация остро не хватает, и она кажется глючной в версиях 1.5+ jQuery (которые изменили способ обработки ajax).

Мне было намного легче начать работу с использованием вилки Эндрю Чайлдса SlickGrid, которая содержит очень простые ипростые инструкции о том, как использовать AJAX в нижней части README:

Репозиторий на https://github.com/andrewchilds/SlickGrid

6 голосов
/ 07 июня 2011

Пример на странице asp.net. Веб-сервис 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 голосов
/ 13 февраля 2011

Взгляните на этот пример .

Если в SlickGrid нет примеров, взгляните на jqgrid .

0 голосов
/ 13 апреля 2015

Решение простое, но они явно не указывают, как это сделать, на своей вики-странице.

SlickGrid ожидает, что JSON будет в форме объекта.Так что, если по какой-либо причине это в строковой форме, просто используйте:

JSON.parse(jsonString);

Если вы загружаете из ajax, просто сделайте это:

$.getJSON("file.json", function(data) {
    grid = new Slick.Grid("#myGrid", data, columns, options);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...