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