Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/07/2007, 10:09
Avatar de chechelopez
chechelopez
 
Fecha de Ingreso: mayo-2007
Mensajes: 18
Antigüedad: 17 años, 8 meses
Puntos: 0
De acuerdo Re: Confusion sobre responsabilidad de un objeto : Exportar a Excel un grid


Cierto !, ademas de todo ello es un problema ya que originalmente el objeto que voy a serializar o pasar por sesion es precisamente un objeto AjaxDataTable y al momento de deserializarlo forzosamente tiene que estar la clase AjaxDataTable, si no se pierden sus metodos.... y si intentaba ponerlo en la clase base iba a necesitar la clase hija generando una confusion.... ademas que el boton de exportar a excel se genera en la clase hija... y es responsabilidad de la clase hija saber que hacer con ese boton...por ello la solucion fue en la clase hija AjaxDataTable poner lo siguiente :

Código PHP:
        $place $_SERVER['PHP_SELF'];
        
session_start();
        
$_SESSION['AjaxDataTable'] = $this;
        
$menu .= "function actual(item, e) {";
        
$menu .= " var pagina = '$place?action=exportarExcel';";
        
$menu .= "    document.location.href=pagina;";
        
$menu .= "}"
y despues de la declaracion de la clase AjaxDataTable dentro del mismo archivo se trato de la siguiente manera.

Código PHP:
if (isset ($_GET['action'])) {
    switch (
$_GET['action']) {
        case 
"exportarExcel" :
            
session_start();
            
$myGrid $_SESSION['AjaxDataTable'];
            
$myGrid->toExcel();
            break;
    }

Con lo cual se soluciona el problema posteado originalmente, donde dependia de otro archivo.

Gracias por tu ayuda

ATTE
Sergio Lopez
http://arquitectoweb.blogspot.com