0

朝、私はjqGrid 4.4.1--jQueryGridを使用しています。次の問題があります。私はカスタム検索ボタンを持っています、それはいくつかのパラメータでデータをフィルタリングすることを許可します

    $('#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行のグリッドがあり、フィルター処理するデータが2ページ目にある場合、グリッドは表示されません。カラムソートを押すとグリッドに行が表示されるので、ソートの問題だと思います。

解決策がある人はいますか?

これは私のグリッドコードです

$("#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 に答える