Ver Mensaje Individual
  #21  
Antiguo 23-05-2012
taqtaq taqtaq is offline
Miembro
 
Registrado: jun 2006
Posts: 22
Reputación: 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