事件subGridRowExpanded上的jqGrid方法setGridParam导致错误

事件subGridRowExpanded上的jqGrid方法setGridParam导致错误,jqgrid,Jqgrid,我成功地配置了一个子网格,包括我的网格中的subGridRowExpanded回调。 这意味着回调和配置值是有效的 我想现在删除子网格配置,以便以编程方式添加它 第一步-将子网格设置为true: jQuery('#s3list').jqGrid('setGridParam', { subGrid: true }); jQuery('#s3list').jqGrid('setGridParam', {subGridOptions: { reloadOnExpand: false

我成功地配置了一个子网格,包括我的网格中的subGridRowExpanded回调。 这意味着回调和配置值是有效的

我想现在删除子网格配置,以便以编程方式添加它

第一步-将子网格设置为true

jQuery('#s3list').jqGrid('setGridParam', {
    subGrid: true
});
jQuery('#s3list').jqGrid('setGridParam', {subGridOptions: {
    reloadOnExpand: false
}});
这会导致以下错误: TypeError:this.p.subGridOptions未定义。

第二步-添加所需的子网格选项

jQuery('#s3list').jqGrid('setGridParam', {
    subGrid: true
});
jQuery('#s3list').jqGrid('setGridParam', {subGridOptions: {
    reloadOnExpand: false
}});
这会导致以下错误: TypeError:b.p.colModel[((n+x)+C)+H)]未定义

添加subGridRowExpanded的有效回调无效-错误保持不变:

jQuery('#s3list').jqGrid('setGridParam', {
    subGridRowExpanded: function(subgrid_id, row_id) {
        /* lots of valid code */
    }
});
有可能吗

使用jqGrid 4.5.2

相关议题/问题:


  • 我认为人们对subGrid:true选项的作用存在误解。jqGrid如果使用选项创建网格,则使用namse
    子网格添加列。由于无法在jqGrid中动态添加新列,因此无法在网格中打开subGrid选项,而不根据
    GridUnload
    方法重新创建它(请参阅)

    方法
    setGridParam
    很愚蠢。它只需使用
    $.extend
    来扩展jqGrid的内部选项(请参阅)。使用该方法而不考虑该选项的特定属性可能会破坏网格的功能

    在某些情况下,可以使用子栅格创建栅格,并使用隐藏列(请参见和)。你应该详细考虑这种方法是否可以满足你的要求。