Algúnos botones en JqGrid

256 views
Skip to first unread message

Wilmer

unread,
Jul 10, 2013, 9:38:14 AM7/10/13
to jquer...@googlegroups.com
Hola:

Muy interesante los componentes Jquery4php, tuve algúnos problemas en la integración con ZF 1.12, pero solucionamos el problema, al punto, Tengo Un grid en el cual deben ir muchos botones puesto que estos grid son el meollo del sistema, es decir, necesito enviar registro múltiples, anular, modificar, buscar, generar documentos word, adjuntar pdf, y algunos otros, que sumados hacen aproximadamente 7 botones para cada registro, lo cual me impulsó a usar este ejemplo link, en el automáticamente puedo abrir en un modal pero solo los campos visualizados en el grid, lo que deseo es usar JqForm para los formularios, puesto que los campos en el Jqgrid son solo los principales, no encuetro la manera de hacerlo, ojala me puedan ayudar.

oyepez003

unread,
Jul 10, 2013, 12:01:25 PM7/10/13
to jquer...@googlegroups.com
Hola,

Creo que ahi lo que puedes hacer es agregar un boton custom en el grid y que el registro seleccionado lo abra como un formulario. Entonces ahi debes usar una llamada ajax para mostrar el formulario en un dialogo o en una seccion y aplicar tu logica de negocio.

Para la llamada ajax puedes guiarte por el metodo ajaxLoad

http://jquery4php.sourceforge.net/index.php?section=examples&module=ajax&method=ajaxLoad

Y para los custom buttons

http://jquery4php.sourceforge.net/index.php?section=components&module=jqGrid&method=custom__butoms

Saludos.

Wilmer

unread,
Jul 10, 2013, 4:21:10 PM7/10/13
to jquer...@googlegroups.com
Hice lo que me pediste, y me funciona aun que con Jquery hice esto:
$alertButtom = new YsGridCustomButton();
$alertButtom->setCaption('');
$alertButtom->setButtonIcon(YsUIConstant::ICON_ALERT);
$alertButtom->setTitle("Click me");
$alertButtom->setOnClickButton(
    new YsJsFunction( 'nuevoRegistro()' );
$navigator->addCustomButton($alertButtom);
$grid->setNavigator($navigator);

Y en Jquery no Jquery4PHP tengo esto:
<script>
  function nuevoRegistro(){
    $('#divFormulario')
        .load('/operador/cominterna/add',
        function() {
            jQuery('#dialogId').dialog(
                    {"modal": true,
                     "width": 850,
                     "height": 'auto',
                     "title":'Adicionar Usuario',
                     "buttons": {"Cerrar": function(){jQuery(this).dialog('close')}}});
        });   
  }
</script>
y me funciona, el problema es que necesito usar JqEditor y la verdad no lo puedo integrar, intente hacer esto usando el modal de jquery:

$alertButtom->setOnClickButton(
    new YsJsFunction(
            YsJQuery::newInstance()
              ->in("#divFormulario")
              ->execute(
                  YsJQuery::load( '/operador/cominterna/add'),
                YsUIDialog::build('#dialogId')
                  ->_modal(true)
                  ->_width(850)
                  ->_height('auto')
                  ->_buttons(array(
                    'Close' =>  new YsJsFunction(YsUIDialog::close('this')))
                   ),
                YsUIButton::build('.ui-button')
              )
        )
    );

pero no me funciona me esta mostrando esto:

},"title": "Click me"});}}) /* ]]> */

oyepez003

unread,
Jul 10, 2013, 5:03:23 PM7/10/13
to jquer...@googlegroups.com
Hola,

Puedes enviarme el error que te genera.


Saludos.

El miércoles, 10 de julio de 2013 09:08:14 UTC-4:30, Wilmer escribió:

Wilmer

unread,
Jul 10, 2013, 5:18:53 PM7/10/13
to jquer...@googlegroups.com
Si, voy modificando para ver como arreglar mi script, asi que el que tengo no es igual al anterior, este es el error:
SyntaxError: syntax error
plupload.full.js (línea 2, col 60)

y este mi script:
$navigator->noDefaultButtons();

$alertButtom = new YsGridCustomButton();
$alertButtom->setCaption('');
// $alertButtom->setButtonIcon(YsUIConstant::ICON_ALERT);
$alertButtom->setButtonIcon(YsUIConstant::ICON_CHECK);
$alertButtom->setTitle("Nuevo");
$alertButtom->setOnClickButton(
//     new YsJsFunction( 'nuevoRegistro()' )
    new YsJsFunction(
            YsJQuery::newInstance()->execute(
                    YsJQuery::load('/operador/cominterna/add',
                            array('my_data' => 'data'),
                            new YsJsFunction('alert(response)','response')
                    )
                    ->in('#divFormulario')
            )           
            )

Wilmer

unread,
Jul 17, 2013, 4:19:46 PM7/17/13
to jquer...@googlegroups.com
En definitiva, no he podido cargar un modal desde el JqGrid de jquery4php, no obstante he podido cargarlo solo con jquery, el punto es que necesito cargar el JQEditor de jquery4php en un textarea, y me funciona auque realizando un onClick u otro evento, como haría para que automáticamente se habra el jqEditor, este es mi código que funciona a medias:

<?php YsJQuery::usePlugin(YsJQueryConstant::PLUGIN_JQEDITOR); ?>

<?php
echo 
YsJQuery::newInstance()
    ->onClick()
    ->in("#tenor")
    ->execute(
    YsJQEditor::build()->in('#tenor')
);

donde #tenor es el id de mi textarea.

oyepez003

unread,
Jul 18, 2013, 6:11:06 PM7/18/13
to jquer...@googlegroups.com
Solo colocas

<?php
echo 
YsJQuery::newInstance()

    ->execute(
    YsJQEditor::build()->in('#tenor')
);

o:

<?php
echo 
YsJQuery::newInstance()
    ->
executeOnReady(

    YsJQEditor::build()->in('#tenor')
);


o

<?php
echo 
YsJQEditor::build()->in('#tenor')->
executeOnReady();
?>

Saludos.

En el evento que se ejecuta.
Reply all
Reply to author
Forward
0 new messages