Не могу получить событие loadComplete JQGrid для запуска - PullRequest
1 голос
/ 16 декабря 2010

Я пытаюсь смоделировать щелчок по первой ячейке после загрузки сетки.Я уже знаю, как это сделать, но по какой-то причине я не могу запустить событие loadComplete.Я добавил простую функцию с одним предупреждением, чтобы попробовать его, но, хотя страница загружается без проблем, я не получаю предупреждение (и отладка показывает, что функция никогда не вызывается).gridComplete "тоже не работает.

Я использую jgGrid 3.8.2

Есть идеи, что я делаю неправильно?Я разместил свой код ниже:

    $(document).ready(function () {
        $("#grid").jqGrid(
            {
                datatype: function () {
                    $.ajax(
                    {
                        type: "POST",
                        url: "Default.aspx/GetListOfPersons",
                        data: "{}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (jsondata, stat) {
                            if (stat == "success")
                                jQuery("#grid")[0].addJSONData(JSON.parse(jsondata.d));
                            else
                                alert("error");
                        }
                    });
                },
                jsonReader:
                {
                    root: "rows",
                    page: "page",
                    total: "total",
                    records: "records",
                    repeatitems: false,
                    id: "Id"
                },
                colModel: //Columns
                [
                    { name: 'FirstName', index: 'FirstName', width: 200, align: 'Left', label: 'First Name', editable: true },
                    { name: 'LastName', index: 'LastName', width: 300, align: 'Left', label: 'Last Name', editable: true },
                    { name: 'Age', index: 'Age', width: 50, align: 'Right', label: 'Age', editable: true }
                ],
                caption: "Personas",
                cellEdit: true,
                cellsubmit: 'clientArray',
                pager: "#pager",
                loadComplete: function () { alert("load complete"); }
            }
            ).navGrid('#pager', { edit: false, add: false, del: false, search: false }).navButtonAdd('#pager',
            {
                caption: "Save",
                onClickButton: function () {
                    var ret = $("#grid").getChangedCells('dirty');
                    var ret2 = JSON.stringify(ret);
                    $.ajax(
                    {
                        type: "post",
                        url: "Default.aspx/GetChangesBack",
                        data: '{"o":' + ret2 + '}',
                        contentType: "application/json; charset=utf-8",
                        dataType: "json"
                    }
                    );
                },
                position: "last"
            }
            );
    }
    );

1 Ответ

5 голосов
/ 16 декабря 2010

Поскольку вы звоните $.ajax сами, я не думаю, что loadComplete должен стрелять.

gridComplete должно работать, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...