1

我遇到了一个问题,我有下一个 jqgrid:

grid.jqGrid({
    datatype: "xml",
    url:'../Controladores/cPedidos.php?action=lpp',
    mtype: 'POST',
    colNames:['FECHA','PROVEEDOR','USUARIO'],
    colModel:[
        {name:'fecha_compra',index:'fecha_compra',width:120, sorttype: 'date',
            formatter: 'date', formatoptions: { srcformat: 'm/d/Y H:i', newformat: 'd/m/Y H.i'} },
        {name:'nombre',index:'nombre',editable: false, width:560},
        {name:'usuario_id',index:'usuario_id',width:100, editable: false}

    ],
    rowNum:100,
    rowList:[50,100,200],
    pager: '#paginacion',
    gridview:true,
    rownumbers:true,
    ignoreCase:true,
    sortname: 'fecha_compra',
    viewrecords: true,
    sortorder: "desc",
    caption:"Pedidos",
    height: "100%",
    subGrid : true,
    subGridUrl: '../Controladores/cPedidos.php?action=lac',
    subGridModel: [{ name  : ['Codigo','Cantidad','Articulo','Estado','Rubro','Observaciones','Fecha Recibido','Usuario'], 
        width : [50,50,450,60,60,150,0,0] }],
    ondblClickRow: function(id, ri, ci) {
        // edit the row and save it on press "enter" key
        grid.jqGrid('editRow',id,true,null,null, 'clientArray');
    },
    onSelectRow: function(id) {
        if (id && id !== lastSel) {
            // cancel editing of the previous selected row if it was in editing state.
            // jqGrid hold intern savedRow array inside of jqGrid object,
            // so it is safe to call restoreRow method with any id parameter
            // if jqGrid not in editing state
            if (typeof lastSel !== "undefined") {
                grid.jqGrid('restoreRow',lastSel);
            }
            lastSel = id;
        }
    }
}).jqGrid('navGrid','#pager',{add:false,edit:false},{},{},myDelOptions,{multipleSearch:true,overlay:false});

我正在将主网格上的日期格式化为 dd/mm//yy (FECHA),现在我需要对“fecha recibido”的子网格执行此操作,我不知道要放置格式化程序代码

你怎么能这样做?

4

1 回答 1

2

您用于subGridModel创建子网格。它只使用有限的可能性来创建最简单的子网格(请参阅文档)。如果您需要在子网格中有格式化程序,则需要使用更灵活的方式:Subgrid as Grid

这种 subgid 的实现非常简单,非常灵活。您应该只subGridRowExpanded在主网格中实现回调而不是使用subGridModel。如果用户单击展开按钮 ("+") 以查看为您创建的子网格 jqGrid 在扩展行下的空行。如果创建空<div>元素,您可以在其中放置任何信息,包括任何其他网格(子网格)。您需要做的只是创建<table>具有某些独特id属性的新元素,并将该元素放置在jqGrid 之前为您创建<table>的空元素中。<div>通常一个id表的构造基于 id作为回调<div>的第一个参数。subGridRowExpanded

您可以在我的旧答案中找到最简单的回调实现。您可以在此处找到另一个示例。您可以在文档中找到更多此类实现的示例,或者只是在 web 或 stackoverflow 上搜索"subGridRowExpanded"文本。

于 2013-04-12T11:14:08.863 回答