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