none
Agregar un Drowdroplist a una grilla Jqgrid y editar sobre cada fila RRS feed

  • Pregunta

  • Buenas Tardes:

    Debido a un RQ de un cliente he visto como buena opción el uso de JqGrid, pero no encuentro la forma de agregar a una columna un Drowdroplist, este es mi Js

            

    $(function () {

        var countrysource =
    {
       datatype: "json",
       datafields: [
    { name: 'idcuenta', type: 'string' },
                                    { name: 'nomcuenta', type: 'string' }
       ],
       url: '/Operativo/CmbCuentas'
    };




        $("#grid").jqGrid({
            url: "/Operativo/GetIngreso",
            datatype: 'json',
            mtype: 'Get',
            colNames: ['IdIngDoc','IdTidoc', 'Cuenta','Concepto', 'Tercero', 'C.Costo', 'Debito', 'Credito'],
            colModel: [
                { key: true, hidden: true, name: 'IdIngDoc', index: 'IdIngDoc', editable: true },
                 { key: false,hidden: true, name: 'IdTidoc', index: 'IdTidoc', editable: true },
                { key: false, name: 'Codigocuenta', index: 'Codigocuenta', editable: true },
                { key: false, name: 'Concepto', index: 'Concepto', editable: true },
                { key: false, name: 'Id_Tercero', index: 'Id_Tercero', editable: true },
                { key: false, name: 'Cod_CC', index: 'Cod_CC', editable: true },
                { key: false, name: 'Debito', index: 'Debito', editable: true },
                { key: false, name: 'Credito', index: 'Credito', editable: true }],

            pager: jQuery('#pager'),
            rowNum: 10,
            rowList: [10, 20, 30, 40],
            height: 'auto',
            viewrecords: true,
            caption: 'Detalle Documento',
            emptyrecords: 'No Existen registros para Mostrar',
            jsonReader: {
                root: "rows",
                page: "page",
                total: "total",
                records: "records",
                repeatitems: false,
                Id: "0"
            },
            autowidth: true,

            multiselect: false
        }).navGrid('#pager', { edit: true, add: true, del: true, search: false, refresh: true },
            {
                // edit options
                zIndex: 100,
                url: '/Operativo/Edit',
                closeOnEscape: true,
                closeAfterEdit: true,
                recreateForm: true,
                afterComplete: function (response) {
                    if (response.responseText) {
                        alert(response.responseText);
                    }
                }
            },
            {
                // add options
                zIndex: 100,
                url: "/Operativo/Create",
                closeOnEscape: true,
                closeAfterAdd: true,
                recreateForm:true,
                msg: "Confirma que Desea Guardar",
                afterComplete: function (response) {
                    if (response.responseText) {
                        alert(response.responseText);
                    }
                }
            },
            {
                // delete options
                zIndex: 100,
                url: "/Operativo/Delete",
                closeOnEscape: true,
                closeAfterDelete: true,
                recreateForm: true,
                msg: "Confirma que Desea Eliminar el Registro?",
                afterComplete: function (response) {
                    if (response.responseText) {
                        alert(response.responseText);
                    }
                }
            });
    });

    EN la primera parte estoy inovcando desde el controlador mi jsonResult que me va a retornar los datos, pero no escuentro la forma de colocar el control sobre la grilla, adicional neecsito agregar datos y editar sobre la misma grilla.

    Quedo atento a sus comentarios

    mil gracias


    Carlos Alberto Hernández R. CEO -Xtreme Business Solutions Movil: 3102334026 Bogota- Colombia

    domingo, 5 de marzo de 2017 0:22

Respuestas

  • Buenas Tardes Lenadro:

    Mil gracias por tu respuesta, efectivamente ya logre hacerlo en ese form, pero ahora el problema  es el llenado yo tengo en el controlador un JsonResult la idea es invocarlo desde mi js y ahi llenar el select

    intente con esto, pero al pasarle al value cuentas no me llena no se que este haciendo mal.

         

    var cuentas =
    {
       url: '/Operativo/CmbCuentas',
       datatype: "json",
       datafields: [
    { name: 'idcuenta', type: 'string' },
                                    { name: 'nomcuenta', type: 'string' }
       ],};

    y en el Jqgrid por el momento lo estoy pasando fijo los valores solo por probar{ key: false, name: 'Codigocuenta', index: 'Codigocuenta', editable: true, edittype: 'select', editoptions: { value: { '0': 'Seleccione Cuenta', '1': 'ACTIVO', '2': 'PASIVO', '5': 'GASTOS', '11': 'DISPONIBLE', '22': 'PROVEEDORES', '23': 'CUENTAS POR PAGAR', '51': 'OPERACIONALES DE ADMINISTRACION', '1105': 'CAJA', '2205': 'NACIONALES', '2365': 'RETENCION EN LA FUENTE', '5135': 'SERVICIOS', '110505': 'CAJA GENERAL', '110510': 'CAJAS MENORES', '220505': 'NACIONALES', '236525': 'SERVICIOS', '513515': 'ASISTENCIA TECNICA', '23652505': 'SERCIVICIOS 6%' } } },   pero lo que necesito es pasalre en el value lo que me retorne mi funcion.


    Carlos Alberto Hernández R. CEO -Xtreme Business Solutions Movil: 3102334026 Bogota- Colombia

    lunes, 6 de marzo de 2017 23:25

Todas las respuestas

  • hola

    hasta donde conozco no recomiendo que vayas por ese camino, si necesitas un combo para editar una entidad de la row define un form popup para realizarlo

    Form Editing

    en el form si podras usar el combo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 6 de marzo de 2017 13:46
  • Buenas Tardes Lenadro:

    Mil gracias por tu respuesta, efectivamente ya logre hacerlo en ese form, pero ahora el problema  es el llenado yo tengo en el controlador un JsonResult la idea es invocarlo desde mi js y ahi llenar el select

    intente con esto, pero al pasarle al value cuentas no me llena no se que este haciendo mal.

         

    var cuentas =
    {
       url: '/Operativo/CmbCuentas',
       datatype: "json",
       datafields: [
    { name: 'idcuenta', type: 'string' },
                                    { name: 'nomcuenta', type: 'string' }
       ],};

    y en el Jqgrid por el momento lo estoy pasando fijo los valores solo por probar{ key: false, name: 'Codigocuenta', index: 'Codigocuenta', editable: true, edittype: 'select', editoptions: { value: { '0': 'Seleccione Cuenta', '1': 'ACTIVO', '2': 'PASIVO', '5': 'GASTOS', '11': 'DISPONIBLE', '22': 'PROVEEDORES', '23': 'CUENTAS POR PAGAR', '51': 'OPERACIONALES DE ADMINISTRACION', '1105': 'CAJA', '2205': 'NACIONALES', '2365': 'RETENCION EN LA FUENTE', '5135': 'SERVICIOS', '110505': 'CAJA GENERAL', '110510': 'CAJAS MENORES', '220505': 'NACIONALES', '236525': 'SERVICIOS', '513515': 'ASISTENCIA TECNICA', '23652505': 'SERCIVICIOS 6%' } } },   pero lo que necesito es pasalre en el value lo que me retorne mi funcion.


    Carlos Alberto Hernández R. CEO -Xtreme Business Solutions Movil: 3102334026 Bogota- Colombia

    lunes, 6 de marzo de 2017 23:25
  • hola

    >>pero lo que necesito es pasalre en el value lo que me retorne mi funcion.

    pero entonces pasale lo que retorne el action, no veo cual es el problema, solo debers retornar un Json con ese formato

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    martes, 7 de marzo de 2017 2:56