Recargar grid despues de usar JqUpload

65 views
Skip to first unread message

Wilmer

unread,
Jul 31, 2013, 2:12:18 PM7/31/13
to jquer...@googlegroups.com
Lamento molestar con mis dudas, pero gracias de antemano.

Tengo un grid desde el cual llamo a los modales, pues todos mis modales son formularios,  y con esto:

YsJQuery::usePlugin(YsJQueryConstant::PLUGIN_JQFORM);

echo
YsJQuery::newInstance()
  ->execute(
    YsJQForm::ajaxForm()  // Submit del formulario
      ->in('#anulaDocumento')
      ->_target('#divFormulario')
      ->_beforeSubmit(new YsJsFunction('if(!confirm("Seguro de anular?")){return false;}'))
      ->_success(
          new YsJsFunction(
                        YsJQuery::load('/operador/cominterna',YsUIDialog::close('#dialogId'))->in('#content').";".
                        YsJQuery::remove()->in("#dialogId")                       
                      )
      )
  );
he podido recargar el grid de fondo, pero el JqUpload carga las variables y automáticamente los envía como POST, es decir, sin que yo defina el formulario este es generado por JqUpload,

    YsUpload::build()->in('#uploader')
                     ->_action('response/fileUploadResponse.php')
                     ->_maxFileSize('11mb')
                     ->_filters("jpg,gif,png,pdf")

el fileUploadResponse.php se encarga de cargar el archivo y guardar en la base de datos, pero y como recargaría mi grid de fondo, probe con esto:

echo
YsJQuery::newInstance()
->execute(
    new YsJsFunction(
        YsJQuery::load('/operador/cominterna',YsUIDialog::close('#dialogId'))->in('#content').";".
        YsJQuery::remove()->in("#dialogId")
    )
)
y no me funciona.

oyepez003

unread,
Jul 31, 2013, 2:43:36 PM7/31/13
to jquer...@googlegroups.com
Para recargar el grid puedes hacerlo de las siguientes formas :

  • Con el objeto de tu grid;

$miGrid = new YsGrid('idDelGrid');
...
...
...
$miGrid->reloadGrid();


  • Con el objeto YsJQGrid asi:

YsJQGrid::reloadGrid('#idDelGrid');

  • Desde javacript:

$('#idDelGrid').trigger('reloadGrid');


Saludos cordiales.

Wilmer

unread,
Jul 31, 2013, 3:11:00 PM7/31/13
to jquer...@googlegroups.com
Pero exactamente donde debería insertar dicho sript, por que lo agregué al final de fileUploadResponse.php y no me funciona, extrañamente tambien puse un alert en el mismo lugar pero nada.

oyepez003

unread,
Jul 31, 2013, 4:38:03 PM7/31/13
to jquer...@googlegroups.com
En la pagina donde esta el JQUpload y luego que realizas el build escribe esto a ver:

<script type="text/javascript" language="javascript">

$('#idDelJQUpload').bind('FileUploaded', function(up, file) {
  
   $('#idDelGrid').trigger('reloadGrid');

});

</script>

Saludos.

Wilmer

unread,
Jul 31, 2013, 4:53:51 PM7/31/13
to jquer...@googlegroups.com
Te comento que no funciona.

Esto sería la funcion en javascript

function cargarPdf(){
    var id = jQuery('#gridId').jqGrid('getGridParam','selrow');
    var cite = jQuery('#gridId').jqGrid('getGridParam','selrow');
    var record = jQuery('#gridId').jqGrid('getRowData',cite);
    if(id){           
        var record = jQuery('#gridId').jqGrid('getRowData',id);    
        $('#divFormulario').load('/operador/cominterna/upload/id/'+record.id,
            function(response) {
                $('#dialogId').dialog(
                        {"modal": true,
                            "width": 750,
                            "height": 420,
                            "title":'Cargar Pdf - Comunicación Interna - '+record.cite,
                            "buttons": {"Cerrar": function(){jQuery(this).dialog('close')}}});
                $('#uploader').
                plupload({"runtimes": "html5",
                    "url": "/operador/cominterna/cargar/id/"+record.id,
                    "max_file_size": "11mb",
                    "filters": [ {"title": "Files","extensions": "pdf,jpg"}]

                }).bind('FileUploaded', function(up, file) {
                       $('#gridId').trigger('reloadGrid');
                    });                
            });
       
    }else{
      alert("Seleccione una fila por favor.");
      return;
    }
}
ojala puedas ayudarme.

oyepez003

unread,
Jul 31, 2013, 5:35:56 PM7/31/13
to jquer...@googlegroups.com
Coloca un alert en el bind del 'FileUploaded'

A ver si se ejecuta el evento.

Saludos.

Wilmer

unread,
Jul 31, 2013, 6:12:52 PM7/31/13
to jquer...@googlegroups.com
le puse asi:


                }).bind('FileUploaded', function(up, file) {
                       "alert('wil');";
                    });
te comento que no lo ejecuta

oyepez003

unread,
Jul 31, 2013, 6:38:41 PM7/31/13
to jquer...@googlegroups.com
Deberia ser:


.bind('FileUploaded', function(up, file) {
      alert('wil');
 });

Wilmer

unread,
Aug 1, 2013, 9:14:05 AM8/1/13
to jquer...@googlegroups.com
probé de este otro modo pero igual nada:

                $('#uploader').bind('FileUploaded', function(up, file) {
                       alert('wil');
                }).plupload({"runtimes": "html5",

oyepez003

unread,
Aug 1, 2013, 10:58:21 AM8/1/13
to jquer...@googlegroups.com
Que raro.


Lo que quieres es hacer que luego de subir al archivo se ejecute algo por ejemplo un alert...

Voy a tratar de hacer la prueba en mi maquina y te aviso.

Saludos.
Reply all
Reply to author
Forward
0 new messages