JQuery Problema con JqGrid Multiselect

Iniciado por MiguelP, 7 Agosto 2014, 18:49 PM

0 Miembros y 1 Visitante están viendo este tema.

MiguelP

Hola amigos del foro, tengo un problema recien pude hacer que mi grilla sea mutiselect pero ahora me piden que segun un campo si esta lleno la grilla cargue ya seleccionada y si esta vacio que este libre...no se como hacerlo por mas ejemplos que he visto en la internet...espero puedan ayudarme aqui les dejo el codigo de como armo mi grilla para que me entiendan mas facilmente saludos.


function GenerarBandeja() {
    EjecutarFuncion(LimpiarFiltroBusqueda);
    var asignacionusuario = {
        UsuarioJefeId: $("#ddlUsuarioCon option:selected").val().valueList()
        //UsuarioSubId: $("#ddlUsuarioCon option:selected").val()
    };

    $("#divAsignacionUsuarios").html('<table id="gvAsignacionUsuarios"></table><div id="piePaginaAsignacionUsuarios"></div>');
    $("#gvAsignacionUsuarios").jqGrid({
        url: '/Service/Mantenimiento.svc/ListarAsignacionUsuario',
        datatype: 'json',
        mtype: 'GET',
        postData: { asignacionusuario: JSON.stringify(asignacionusuario) },
        ajaxOptions: { async: true },
        jsonReader: { repeatitems: false },
        loadui: "block",
        rowNum: 10,
        rowList: [10, 20, 30, 100, 300, 500],
        viewrecords: true,
        colNames: ['Código Jefe', 'Nombre Jefe', 'Código Sub', 'Nombre Sub', 'Fecha Inicio', 'Fecha Fin', 'Estado', '', ''],
        colModel: [{ name: 'UsuarioJefeId', index: 'UsuarioJefeId', width: 80 },
                   { name: 'NombreJefe', index: 'NombreJefe', width: 350 },
                   { name: 'UsuarioSubId', index: 'UsuarioSubId', width: 80 },
                   { name: 'NombreSubordinado', index: 'NombreSubordinado', width: 350 },
                   { name: 'FechaInicio', index: 'FechaInicio', formatter: 'date', formatoptions: { srcformat: 'd/m/Y', newformat: 'd/m/Y' }, width: 100 },
                   { name: 'FechaFin', index: 'FechaFin', formatter: 'date', formatoptions: { srcformat: 'd/m/Y', newformat: 'd/m/Y' }, width: 100 },
                   { name: 'EstadoStr', index: 'EstadoStr', width: 80 },
                   { name: 'Editar', index: 'Editar', width: 20, align: 'center', formatter: 'actionFormatterEditar', search: false },
                   { name: 'Eliminar', index: 'Eliminar', width: 20, align: 'center', formatter: 'actionFormatterEliminar', search: false }
                  ],
        paging: true,
        pager: '#piePaginaAsignacionUsuarios',
        sortname: 'UsuarioJefeId',
        sortorder: 'desc',
        height: "100%",
        autowidth: true,
        sortable: true,
        shrinkToFit: false,
        multiselect: false,
        prmNames: { nd: null, search: null },
        emptyrecords: "No hay Registros.",
        multiselect: true,
        caption: 'Mantenimiento de -.-',
        loadComplete: function (data) {

            var grid = $("#gvAsignacionUsuarios");
            var data = grid.getDataIDs();

            for (var i = 0; i < data.length; i++) {
                if ($("#gvAsignacionUsuarios").getRowData(data[i])['Check'] > 0) {
                    $("#gvAsignacionUsuarios").setSelection(data[i], false);     
                }         
            }
        }

    });
    $.extend($.fn.fmatter, {
        actionFormatterEditar: function (cellvalue, options, rowObject) {
            return "<img title=\"Click para editar Tienda\" onclick=\"CargarFormularioEditar(this)\" style=\"cursor:pointer\" src=\"../Images/General/iconos/edit.gif\" />";
        },
        actionFormatterEliminar: function (cellvalue, options, rowObject) {
            if (rowObject.EstadoStr == 'Asignado') {
                return "<img title='Click para deshabilitar el registro' onclick='ConfirmacionDeshabilitarRegistro(this)' style='cursor:pointer' src=\"../Images/General/iconos/delete.png\" />";
            }
            else
                if (rowObject.EstadoStr == 'Sin Asignar') {
                    return "<img title='Click para habilitar el registro' onclick='ConfirmacionHabilitarRegistro(this)' style='cursor:pointer' src=\"../Images/General/iconos/habilitar.png\" />";
                }
        }
    });
}

MinusFour

Cita de: MiguelP en  7 Agosto 2014, 18:49 PMsegun un campo si esta lleno la grilla cargue ya seleccionada y si esta vacio que este libre

No te entiendo, ¿Que quieres decir? ¿Algún ejemplo?

Por cierto en tu jQuery tienes doble multiselect:
Código (javascript) [Seleccionar]

        multiselect: false,
        prmNames: { nd: null, search: null },
        emptyrecords: "No hay Registros.",
        multiselect: true,