0

早上,我正在使用 jqGrid 4.4.1 - jQuery Grid。我有下一个问题。我有一个自定义搜索按钮,它允许使用一些参数过滤数据

    $('#BtnConsultar').click(function() {
        parametros.NoSolicitud = $("#TxtNoSolicitud").val();
        parametros.TipoSolicitud = $("#CbTiposSolicitud").val();
        parametros.IdUsuario = $("#TxtIdUsuario").val();
        parametros.Proveedor = $("#TxtProveedor").val();
        parametros.FechaUltModificacionDesde = $("#TxtFechaUltModificacionDesde").val();
        parametros.FechaUltModificacionHasta = $("#TxtFechaUltModificacionHasta").val();
        parametros.FechaBorradoDesde = $("#TxtFechaBorradoDesde").val();
        parametros.FechaBorradoHasta = $("#TxtFechaBorradoHasta").val();
        jQuery('grid').jqGrid('clearGridData');
        $("#GrdResultadoConsulta").jqGrid('setGridParam', { postData: { parametroJSON: JSON.stringify(parametros)} });
        $('#GrdResultadoConsulta').trigger("reloadGrid", [{ current: true}]);
        return true;
    }); 

但是,如果在过滤数据之前,我有一个 10 组(2 页)中有 20 行的网格,并且我想要过滤的数据在网格不显示的第二页中。我认为这是一个排序问题,因为如果我按列排序,网格会显示该行。

任何有一些解决方案的人?

这是我的网格代码

$("#GrdResultadoConsulta").jqGrid({
        url: '<%= Url.Action("GridConsultaSolicitudeEliminadas")%>',
        postData: { parametroJSON: JSON.stringify(parametros) },
        datatype: 'json',
        mtype: 'GET',
        colNames: ['No.Solicitud', 'Tipo Solicitud', 'Usuario', 'Proveedor', 'Fecha Creación', 'Fecha Modificación', 'Fecha Borrado', 'Id Notificacion', 'SolicitudesEliminadasID'],
        colModel: [
                { name: 'SolicitudID', index: 'SolicitudID', width: 75, align: 'left', sortable: true, resizable: false },
                { name: 'DescTipoSolicitud', index: 'TipoSolicitud', width: 75, align: 'center', sortable: true, resizable: false },
                { name: 'Usuario', index: 'IdUsuario', width: 200, align: 'left', sortable: true, resizable: false },
                { name: 'Proveedor', index: 'NumProv', width: 200, align: 'left', sortable: true, resizable: false },
                { name: 'FechaInicio', index: 'FechaInicio', width: 75, align: 'right', sortable: true, resizable: false },
                { name: 'FechaModificacion', index: 'FechaModificacion', width: 75, align: 'right', sortable: true, resizable: false },
                { name: 'FechaBorrado', index: 'FechaBorrado', width: 75, align: 'right', sortable: true, resizable: false },
                { name: 'IdNotificacion', width: 75, align: 'right', sortable: false, resizable: false },
                { name: 'SolicitudesEliminadasID', hidden: true }
            ],
        pager: $('#GrdResultadoConsultaPager'),
        rowNum: 10,
        sortname: 'SolicitudID',
        sortorder: 'asc',
        autowidth: true,
        height: '250px',
        viewrecords: true,
        caption: 'Resultado de consulta solicitudes eliminadas',
        loadtext: "Cargando información ...",
        hidegrid: false,
        loadComplete: function() { },
        onSelectRow: function(id) { }
    }).navGrid('#GrdResultadoConsultaPager', { edit: false, add: false, search: false, del: false });

谢谢..

PD:对不起英语

4

1 回答 1

0

我发现了我的错误。

错误不在网格中,而在存储过程中。

解决方案:将过滤器移动到 CTE 指令而不是最终查询结果中。

问候

于 2013-01-10T20:39:11.493 回答