Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 23-05-2012
taqtaq taqtaq is offline
Miembro
 
Registrado: jun 2006
Posts: 22
Poder: 0
taqtaq Va por buen camino
Si bien tengo entendido que se pueden enlazar Opengrids como maestro detalle (yo no lo he hecho aun) supongo que a eso lo puedes hacer como ya lo hiciste con la QDBgrid, aunque no lo he probado tampoco.

En el evento javascript BeforeEditCell de la Opengrid maestro, tienes que poner lo siguiente:

Código PHP:
function OpenGridMaetroJSBeforeEditCell($sender, $params)
    {
        ?>
        //begin js
          var fila =jQuery('#OpenGrid1').getGridParam('selrow'); // obtengo el valor de la fila 
          var registro = jQuery("#OpenGrid1").getRowData(fila); // obtengo el registro completo (la fila completa)
          findObj('HiddenField1').value = registro.ID_PERSONA; (pongo en  el hiddenfield el valor de la columna "ID_PERSONA" que es la clave)
        //end
        <?php
         
echo $this->OpenGridMaestro->ajaxCall("ActualizarGrilla",array(),array("OpenGridDetalle"));
    }
No te olvides que en "ActualizarGrilla" tienes que poner la función que te actualiza el detalle

Algo así:
Código PHP:
function ActualizarGrilla()
    {
      
$sql "SELECT * FROM PERSONAS WHERE ID_PERSONA = ".$this->HideField->Value;
      
$this->Query2->close();
      
$this->Query2->SQL=$sql;

      
$this->Query2->Prepare();
      
$this->Query2->close();
      
$this->Query2->open(); //// el Query2 es el dataset enlazado a la OpenGridDetalle
    

De lo que no estoy seguro es si puedes usar el ajaxcall en la OpenGrid y ahora no lo puedo probar.

Pruebalo y me avisas.

Saludos
Responder Con Cita
  #22  
Antiguo 23-05-2012
juanpy juanpy is offline
Miembro
NULL
 
Registrado: feb 2012
Ubicación: Santiago de Chile
Posts: 64
Poder: 13
juanpy Va por buen camino
Detalle del problema.

Todo el algoritmo informado en el ultimo post ya fue aplicado, pero falta algo.

Si yo actualizo con el procedimiento:

Código PHP:
function ActualizarGrilla()
    {
      
$sql "SELECT * FROM PERSONAS WHERE ID_PERSONA = ".$this->HideField->Value;
      
$this->Query2->close();
      
$this->Query2->SQL=$sql;

      
$this->Query2->Prepare();
      
$this->Query2->close();
      
$this->Query2->open); //// el Query2 es el dataset enlazado a la OpenGridDetalle
    

La OpenGrid del detalle desaparece de la pantalla.

El procedimiento informado es trasparente con PHP no asi con Axaj.

Ahora, si yo recargo la pantalla (F5 o Ctrl+F5), la OpenGrid del detalle vuelve aparece con los datos filtrados segun la Empresa seleccionada como debe ser.

Lo que necesitamos ahora es encontrar una funcion propia de la OpenGrid que actualize los datos de la OepnGrid, osea algo como:

Código PHP:
function ActualizarGrilla()
    {
      
$sql "SELECT * FROM PERSONAS WHERE ID_PERSONA = ".$this->HideField->Value;
      
$this->Query2->close();
      
$this->Query2->SQL=$sql;

      
$this->Query2->Prepare();
      
$this->Query2->close();
      
$this->Query2->open); //// el Query2 es el dataset enlazado a la OpenGridDetalle
    
}  
 
$this->OpenGrid2->trigger('ReloadGrid');   //No funciona en RADPHP
$this->OpenGrid2->Refresh;                   //No aplica 
Eso es lo que se necesita, una funcion que actualize y/o refresque los datos de la OpenGrig2 en tiempo de ejecucion.

Muchas gracias estimado.
Responder Con Cita
  #23  
Antiguo 23-05-2012
juanpy juanpy is offline
Miembro
NULL
 
Registrado: feb 2012
Ubicación: Santiago de Chile
Posts: 64
Poder: 13
juanpy Va por buen camino
Exclamation Un ejemplo!!

Taqtaq,

Mira el ejemplo en:

El ejemplo es lo mismo que yo quiero mostrar.

Muchas gracias.
Responder Con Cita
  #24  
Antiguo 01-06-2012
taqtaq taqtaq is offline
Miembro
 
Registrado: jun 2006
Posts: 22
Poder: 0
taqtaq Va por buen camino
Hola Juampy,
Estuve tratando de hacer andar la opengrid de la forma en que estás necesitando y hasta ahora no he podido hacerlo.
Uno de los inconvenientes con los que me encontré fue que:
Código PHP:
var fila jQuery("#OpenGrid1").getGridParam("selrow"); 
no siempre me devuelve el resultado que necesito, es decir, se supone que me debería dar el número de registro seleccionado pero me di cuenta que eso depende de cómo configuras las columnas para que obtenga de una de ellas el valor, que podría ser el de una clave única y no de un número interno de "renglón".

Me pasó que con distintas consultas me devolvía distintos valores y por ahí encontré que aparentemente hay que configurar la grilla, lo que lamentablemente hasta el momento no sé cómo se hace.


Otra de las cosas que encontré fue que efectivamente la llamada ajaxcall no funciona con la Opengrid, realmente no sé por qué ni tampoco si estoy haciendo algo mal, aunque puedo suponer que podría deberse a que la Opengrid es JQuery, en fin, hoy por hoy no tengo una orientación del por qué.

Por lo pronto creo que hay que seguir investigando respecto de hacer un "update" usando la función del botón refresh de la grilla como vos lo está planteando, aunque por el momento no he podido hacerlo.

Por último, también habría que investigar el ejemplo maestro detalle que hay en el sitio que me indicaste. Sería cuestión de ver con detenemiento el código.

Lamento que las QDBgrid no te hayan funcionado porque de haber sido así, ya estaría solucionado todo el problema, pero bueno, así son las cosas.

En cuanto tenga algún otro dato te lo comento

Saludos

Última edición por Casimiro Notevi fecha: 01-06-2012 a las 15:29:57.
Responder Con Cita
  #25  
Antiguo 27-12-2012
Avatar de ramflores
ramflores ramflores is offline
Miembro
 
Registrado: may 2005
Ubicación: Monterrey, Mex.
Posts: 87
Poder: 19
ramflores Va por buen camino
QDatagrid

Hola foristas.

tengo 2 dudas

1. Estoy indagando en el mundo de RadPHP, estoy tratando de hacer un pequeño ejemplo sencillo ABC, Usando plantilla con SmartyTemplate, trato de poner el evento onclick o onrowchanged, pero por alguna razon no se almacena el valor en un campo hiddenfield.

Buscando por ahi, me tope con un componente llamado OpenGrid, se ve muy bien, pero al quererlo integrar con la plantilla no lo despliega, existe alguna restriccion de componentes para usarce con las Plantillas SmartyTemplate??

Gracias de antemano
__________________
Gracias de antemano
Saludos ........
---------------------------------
Ramiro Flores
Responder Con Cita
  #26  
Antiguo 22-02-2013
LEONARDO19712 LEONARDO19712 is offline
Miembro
 
Registrado: jul 2008
Posts: 12
Poder: 0
LEONARDO19712 Va por buen camino
Hola, no se si aun te sirva pero yo lo manejaría de la siguiente manera, como lo que quieres es que aprtir de un registro de la grilla el haga una consulta y muestre el resultado en otra grilla es lo que entiendo, pues simplemente en el formulario de la grilla principal capturas los datos con javascript tal como te lo explicaron y los guardas ahi mismo en campos edit, desde ese momento ya puedes trabajar con php pues php tomara los valores puestos en esos campos. por medio de un boton mostrar resultados puedes abrir una ventana emergente y cargar la informacion ahi. es una opcion que no afecta la grilla anterior o principal, otra puede ser ajax
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas Retorno de Valor SP MSSQL subzero PHP 1 09-04-2009 00:56:17
El retorno... jcerro Varios 7 01-01-2007 14:44:07
Distinto valor de retorno en storedprocedure desde delfi y desde consola sql manolop Firebird e Interbase 4 20-07-2005 18:24:52
retorno de carro empty Varios 3 14-05-2004 11:21:39
Cálculo de valor presente y tasa de retorno (NPV, IRR) power_vegeta Varios 1 11-07-2003 09:16:57


La franja horaria es GMT +2. Ahora son las 17:41:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi