c# - jqgrid 未捕获类型错误 : Cannot read property 'stype' of undefined

标签 c# jquery json jqgrid-asp.net

设置:jqGrid 4.4.1

我有一个永远有效的网格。有些东西发生了变化,数据将不再显示在网格中。网格加载,但坚持“正在加载...”通知。

错误信息是:

Uncaught TypeError: Cannot read property 'stype' of undefined (jquery.jqGrid.src.js:1599)
$.fn.jqGrid.each.addLocalData         jquery.jqGrid.src.js:1599
$.fn.jqGrid.each.populate             jquery.jqGrid.src.js:1853
(anonymous function)                  jquery.jqGrid.src.js:2467
f.event.dispatch                                jquery.min.js:3
f.event.add.h.handle.i                          jquery.min.js:3
f.event.trigger                                 jquery.min.js:3
(anonymous function)                            jquery.min.js:3
e.extend.each                                   jquery.min.js:2
e.fn.e.each                                     jquery.min.js:2
f.fn.extend.trigger                             jquery.min.js:3
$gridManager.addColumnNameToGroupHead         gridManager.js:81
$gridManager.setGridOptions                   gridManager.js:28
$order.showOrders                                 orders.js:112
$.ajax.success                                    orders.js:145
f.Callbacks.o                                   jquery.min.js:2
f.Callbacks.p.fireWith                          jquery.min.js:2
w                                               jquery.min.js:4
f.support.ajax.f.ajaxTransport.send.d           jquery.min.js:4

据我所知,json 字符串有效且正确,数据(和列名)匹配,并且所有 stype 值均有效。

var searchResultGrid = jQuery("#orderStatus").jqGrid({
        datatype: "jsonstring",
        datastr: orderData,
        jsonReader: { root: 'rows', total: 'total', page: 'page', records: 'records', repeatitems: false, id: 'id' },
        colNames: colNames,
        colModel: colModel,
        rowNum: 5000,
        height: $(window).height() - 205,
        width: $(window).width()-29,
        pagination: true,
        pager: '#orderStatusPager',
        viewrecords: true,
        sortname: 'status',
        sortorder: 'desc',
        loadonce: true,
        sortable: true,
        ignoreCase: true,
        emptyDataText: "No orders found",
        grouping: true,
        groupingView: groupingView,
        onSelectRow: function (rowId, status) {
            {REMOVED FOR CLARITY}
        },
        loadComplete: function () {
            jQuery("#orderStatus").trigger("reloadGrid"); // Call to fix client-side sorting
            $gridManager.setGroupingDd("orderStatus", "orderStatusPager", groupCol, ["part_no", "Descript"], "status");
            if (orderId) {
                jQuery("#orderStatus").setSelection(orderId, true);
            }
        },
        resizeStop: function () { $gridManager.updateGrid("orderStatus", "orderStatusPager"); }
    });

如果与查找问题相关,我可以提供 colNames 和 colModel。

什么会导致这种情况?或者,我该如何找到原因?

更新:

这里是 groupingView 的定义

groupingView = { groupField: [groupCol], groupColumnShow: [$gridManager.isColumnVisible(groupCol)], groupText: ['<b>{0} - {1} Order(s)</b>'], groupCollapse: false, groupOrder: ['desc'] };

我可以看到 groupCol值为 clear ,这不是 json 中的一列字符串。

最佳答案

我遇到了类似的问题,发现了分组问题。您没有提供有关“groupingView”定义的详细信息,但请先检查那里。

您不应尝试对不在数据中的列进行分组。要么删除它,要么在列名不存在时删除分组。

关于c# - jqgrid 未捕获类型错误 : Cannot read property 'stype' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18667634/

相关文章:

c# - 无法将 C# 字典作为参数传递给 ironPython 方法

c# - 如何使用 async 和 await 发出大量并发 Web 请求?

javascript - 如何将 Ajax 调用 array(json) 放入全局数组?

json - 在对行执行删除操作后使用 table.ajax.reload() 时,表不会刷新

c# - 如何在 C# 中将具有等于 "="符号的字符串转换为 json

没有 .pdb 文件的 C# 分析失败

c# - 如何在 Web API MultiPartContent 消息上设置 "type"参数?

javascript - jQuery清理注释并链接URL

javascript - 使用 JSON 的 PHP AJAX 下拉菜单

php - Facebook 网站上的图片库 (PHP/JSON)