jueves, 26 de mayo de 2016

C# - Conservar rows seleccionados en grilla JQUERY paginada.-

 // Grilla Consulta
        function defineGridConsulta() {
            try {
                var selectedRows = {};
                var agentsGrid = $('#grid2');
                $("#grid2").jqGrid({
                    caption: "Factura Pagos",
                    datatype: "local",
                    colNames: ['Correlativo', 'RUT Cliente', 'Nombre Cliente', 'Operacion', 'Cuota', 'Fecha Pago', 'Total Iva', 'Total Pagado', 'Fecha Facturacion'],
                    colModel: [{ name: 'correlativo_pago', index: 'correlativo_pago', width: '150px', align: 'center' },
                                { name: 'rut_cliente', index: 'rut_cliente', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'nombre', index: 'nombre', width: '450px', align: 'Left', editable: false, hidden: false },
                                { name: 'operacion', index: 'operacion', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'num_cuota_format', index: 'num_cuota_format', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'fecha_pago', index: 'fecha_pago', width: '150px', align: 'center', editable: false, hidden: false },
                                { name: 'total_iva', index: 'total_iva', width: '150px', editable: false, align: 'right', hidden: false, formatter: 'currency', formatoptions: { decimalPlaces: 0} },
                                { name: 'total_pagado', index: 'total_pagado', width: '150px', align: 'right', editable: false, hidden: false, formatter: 'currency', formatoptions: { decimalPlaces: 0} },
                                { name: 'facturaa', index: 'facturaa', width: '150px', align: 'center', editable: false, hidden: true}],
                    multiselect: true,
                    loadtext: 'Cargando datos...',
                    emptyrecords: 'No hay resultados encontrados o el ciclo de facturación no corresponde',
                    toppager: true,
                    gridview: true,
                    //rownumbers: true,
                    autoencode: true,
                    ignoreCase: true,
                    sortname: 'correlativo_pago',
                    sortorder: 'desc',
                    pager: $('#pager3'),
                    rowNum: 50,
                    rowList: [25, 50, 100, 150, 200, 250],
                    //pgtext: null,
                    viewrecords: true,
                    width: 950,
                    shrinkToFit: true,
                    autowidth: false,
                    forceFit: true,
                    height: 950,
                    editurl: jutils.pageName(),
                    pgbuttons: true,
                    footerrow: true,
                    userDataOnFooter: true,
                    altRows: true,
                    //JC  Para preservar estado de la selección
                    onSelectAll: function (rowIds, status) {
                        if (status === true) {
                            for (var i = 0; i < rowIds.length; i++) {
                                selectedRows[rowIds[i]] = true;
                            }
                        } else {
                            for (var i = 0; i < rowIds.length; i++) {
                                delete selectedRows[rowIds[i]];
                            }
                        }
                    },
                    onSelectRow: function (rowId, status, e) {
                        if (status === false) {
                            delete selectedRows[rowId];
                        } else {
                            selectedRows[rowId] = status;
                        }

                    },

                    gridComplete: function () {
                        for (var rowId in selectedRows) {
                            agentsGrid.setSelection(rowId, true);
                        }
                    }
                    //FIN JC  Para preservar estado de la selección
                });
                $("#grid2").jqGrid('filterToolbar', { stringResult: false, searchOnEnter: false, defaultSearch: 'cn' });
                $("#grid2").jqGrid('navGrid', "#pager3", { edit: false, add: false, del: false, refresh: false });
                $("#grid2").jqGrid('navButtonAdd', '#pager3', { buttonicon: 'ui-icon-transferthick-e-w', onClickButton: function () { Procesar(); }, caption: 'Facturar Pagos', position: 'last', title: 'Facturar Pagos', cursor: 'pointer' });

            } catch (e) {

                showMessage('Error al momento de buscar datos', 'Información');
                return;
            }
        }

No hay comentarios:

Publicar un comentario