0

这是我的网格定义

       $("#requestSearchResultsGrid").jqGrid({
                        datatype : 'jsonstring',
                        height : 210,
                        colModel : [
                                {
                                    label : '<input type="checkbox" id="reqChkIdResult" name="selectedCheck" value="" onclick="checkAllRequestSearchResults(event)"/>',
                                    name : '',
                                    index : '',
                                    align : 'center',
                                    editable : true,
                                    sortable : false,
                                    resizable : false,
                                    edittype : 'checkbox',
                                    editoptions : {
                                        value : "true:false"
                                    },
                                    formatter : function cboxFormatter(cellvalue,options,rowObject) {
                                        return '<input type="checkbox" name="selectedCheck"'
                                                + (cellvalue ? ' checked="checked"' : '')
                                                + 'onclick="checkRequestSearchResults()" id="'
                                                + options.rowId
                                                + '_veh" name="exp"/>';
                                    },
                                    formatoptions : {
                                        disabled : false
                                    },
                                    width : 20
                                },

                                {
                                    label : 'Dept',
                                    name : 'deptId',
                                    index : 'deptId',
                                    sortable : false,
                                    align : 'right',
                                    width : 40
                                },
                                {
                                    label : 'Class',
                                    name : 'classId',
                                    index : 'classId',
                                    sortable : false,
                                    align : 'right',
                                    width : 40
                                },
                                {
                                    label : 'SKU',
                                    name : 'skuNum',
                                    index : 'skuNum',
                                    sortable : true,
                                    width : 90,
                                    align : 'right'
                                },
                                {
                                    label : 'SKU Description',
                                    name : 'skuDesc',
                                    index : 'skuDesc',
                                    sortable : true,
                                    width : 120,
                                    align : 'left'
                                },
                                {
                                    label : 'ID',
                                    name : 'reqId',
                                    index : 'reqId',
                                    sortable : true,
                                    width : 40,
                                    align : 'right'
                                },
                                {
                                    label : 'Request Description',
                                    name : 'reqDesc',
                                    index : 'reqDesc',
                                    width : 150,
                                    align : 'left'
                                },
                                {
                                    label : 'Event Type',
                                    name : 'eventTypeName',
                                    index : 'eventTypeName',
                                    sortable : false,
                                    width : 75,
                                    align : 'left'
                                },
                                {
                                    label : 'Due Date',
                                    name : 'dueDate',
                                    index : 'dueDate',
                                    width : 70,
                                    align : 'right'
                                },
                                {
                                    label : 'Workflow Status',
                                    name : 'workflowStatusDesc',
                                    index : 'workflowStatusDesc',
                                    sortable : false,
                                    align : 'left',
                                    width : 120
                                },
                                {
                                    label : 'Selection Status',
                                    name : 'selectionStatusDesc',
                                    index : 'selectionStatusDesc',
                                    sortable : false,
                                    align : 'left',
                                    width : 120
                                },
                                {
                                    label : 'Validation Status',
                                    name : 'validationStatusDesc',
                                    index : 'validationStatusDesc',
                                    sortable : false,
                                    align : 'left',
                                    width : 120
                                },
                                {
                                    label : 'Event Name',
                                    name : 'eventName',
                                    index : 'eventName',
                                    width : 100,
                                    align : 'left'
                                },
                                {
                                    label : 'Phase',
                                    name : 'phase',
                                    index : 'phase',
                                    width : 80,
                                    align : 'left'
                                },
                                {
                                    label : 'Run Start',
                                    name : 'runStart',
                                    index : 'runStart',
                                    sortable : false,
                                    width : 70,
                                    align : 'right'
                                },
                                {
                                    label : 'Run End',
                                    name : 'runEnd',
                                    index : 'runEnd',
                                    sortable : false,
                                    width : 70,
                                    align : 'right'
                                },
                                {
                                    label : 'Supplier',
                                    name : 'supplierName',
                                    index : 'supplierName',
                                    sortable : false,
                                    width : 60,
                                    align : 'right'
                                },
                                {
                                    label : 'Owner',
                                    name : 'assignedUserId',
                                    index : 'assignedUserId',
                                    sortable : false,
                                    width : 100,
                                    align : 'left'
                                },
                                {
                                    label : 'Private',
                                    name : 'pvtInd',
                                    index : 'pvtInd',
                                    sortable : false,
                                    align : 'left',
                                    width : 50
                                },
                                {
                                    label : 'Last Modified',
                                    name : 'lastModified',
                                    index : 'lastModified',
                                    sortable : false,
                                    align : 'right',
                                    width : 110
                                } ],
                        jsonReader : {
                            root : "requestDetails",
                            repeatitems : false
                        },
                        onSelectRow : function(rowId) {
                            selectedRowId = rowId;
                        },

                        afterInsertRow : function(rowid,rowdata) {
                            var currentDate = new Date();
                            currDate = currentDate.getDate();
                            currYear = currentDate.getFullYear();
                            currMonth = currentDate.getMonth();

                            var dat = new Date(rowdata.dueDate);
                            pdate = dat.getDate();
                            pmonth = dat.getMonth();
                            pyear = dat.getYear();

                            if ((pdate > currDate) && (pdate <= currDate + 3)) {
                                $(this).jqGrid('setRowData',rowid,false,{color : 'red'});
                            }
                        },
                        gridComplete : function(){
                            $("#requestSearchResultsGrid tr").jscontext({html : requestContextMenu});
                        },
                        rowNum : 100,
                        sortorder : 'asc',
                        sortname : 'requestType',
                        viewrecords : true,
                        loadonce : true,
                        autowidth : true,
                        shrinkToFit : false,
                        gridview : true,
                        scrollOffset : 0,
                        id : 'requestId',
                        ondblClickRow : editRequest
                    }).jqGrid('setGridWidth',$('#appBody').width() - 10);

我正在使用以下代码段将数据从服务添加到网格中,i 是一个增量变量。仅基于某些条件,我会将数据添加到网格中,因此我正在使用 addRowData。

$("#requestSearchResultsGrid").jqGrid('addRowData',i + 1, gridData);

问题是当上面的行执行时抛出运行时异常

TypeError: tp 在 ni = tprownumbers===true 处未定义?1:0;

4

1 回答 1

1

您没有发布显示您使用位置addRowData的代码。我想您尝试在创建网格addRowData 之前调用。我想这是你的主要问题。

此外,我建议您重新设计代码。你使用datatype : 'jsonstring'没有datastr哪个没有意义。datastr用初始数据填充网格后,datatype : 'jsonstring'将更改为"local". 之后jsonReader将不再使用。同样,我不明白 的含义afterInsertRow。如果使用数据填充网格,addRowData则直接使用行数据指定对象(参见gridData代码示例)。的代码afterInsertRow似乎只是添加color列。您可以在调用 之前直接添加/更改color的属性。gridDataaddRowData

另一个问题是gridComplete我根本不推荐使用它(见答案)。jscontext网格每一行(<tr>元素)的当前实现调用。添加第一行后,您调用jscontext该行。然后添加下一行并调用所有现有jscontext。因此,您第二次调用之前的加法器行。等等。最后,您会要求相同的行多个尖齿jscontextjscontext

于 2013-05-23T15:01:04.797 回答