无法获取JQGrid loadComplete事件

时间:2010-12-16 14:56:16

标签: jqgrid jquery

我正在尝试在加载网格后模拟第一个单元格上的单击。我已经知道如何实现这一点,但由于某种原因,我无法触发“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 个答案:

答案 0 :(得分:5)

因为您自己致电$.ajax,我认为loadComplete 不应该开火。

gridComplete应该可行。