Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/06/2010, 16:12
warbandit69
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: Problemas con Arreglo dentro de otro Arreglo

Cita:
Iniciado por pateketrueke Ver Mensaje
en todo caso no crees que la solución esta en poner los saltos de linea y espacios desde tu función??
Tienes toda la razón, hice los saltos de linea dentro de la función php y listo (es demasiado extraño y engorroso a veces mezclar javascript con php)

Y aqui la solución, una función php para generar grids con extjs :apla uso:

Código PHP:

function grid_scroll_bar($titulo,$consulta,$div,$campos,$campos_hint,$alto,$ancho,$hostname_obras,$database_obras,$username_obras,$password_obras,$columnas) {
    
$obras = mysql_pconnect($hostname_obras, $username_obras, $password_obras) or trigger_error(mysql_error(),E_USER_ERROR);  //Se usan rutas persistentes
    
mysql_select_db($database_obras, $obras);
    
$query_gridsql = sprintf($consulta);
    
$gridsql = mysql_query($query_gridsql, $obras) or die(mysql_error());
    
$row_gridsql = mysql_fetch_assoc($gridsql);
    
$totalRows_gridsql = mysql_num_rows($gridsql);
    
$campo = explode(",",$campos);
    
$total_campos = count($campo);
    
$ancho_columnas = $ancho/$total_campos;
    
$grid = "<script type='text/javascript'>
    "
;
    
$grid .= "Ext.onReady(function(){
        "
;
    
$grid .= "var myData = [
    "
;
    
$l = 0;
    do {
        
$arreglo_indices = array();
        
$l++;
        
$grid .= "[";
        for (
$i = 0; $i < $total_campos; $i++) {
            
$id_campo = $campo[$i];
            
$arreglo_indices[] =  "'".$row_gridsql[$id_campo]."'";
        }
        if (
count($arreglo_indices) > 0) {
            
$arreglo1 = implode(",",$arreglo_indices);
            
$grid .= $arreglo1;
        }
        
        if (
$totalRows_gridsql != $l) {
            
$grid .= "],";
        } else {
            
$grid .= "]";
        }
    } while(
$row_gridsql = mysql_fetch_assoc($gridsql));
    
$grid .= "];";
    
// create the data store
    
$grid .= "var store = new Ext.data.Store({
        "
;
    
$grid .= "proxy: new Ext.ux.data.PagingMemoryProxy(myData),
    "
;
    
$grid .= "remoteSort:true,
    "
;
    
$grid .= "sortInfo: {field:'".$campo[0]."', direction:'DESC'},
    "
;
    
$grid .= "reader: new Ext.data.ArrayReader({
        "
;
    
$grid .= "fields: [
    "
;
    
//Empezar ciclo
    
for ($j = 0; $j < $total_campos; $j++) {
        
$arreglo_nombres[] = "{name:'".$campo[$j]."'}
        "
;
    }
    
$grid .= implode(",",$arreglo_nombres);
    
//Finalizar ciclo
      
$grid .= "]
    "
;
    
$grid .= "})
    "
;
    
$grid .= "})
    "
;
    
// create the Grid
    
$grid .= "var grid = new Ext.grid.GridPanel({
        "
;
    
$grid .= "store: store,
    "
;
    
$grid .= "    columns: [
    "
;
    
//Empezar el ciclo
    
for ($k = 1; $k < $total_campos; $k++) {
        
$arreglo_campos[] = "{header: \"".$campo[$k]."\", width: ".$ancho_columnas.", sortable: true, dataIndex: '".$campo[$k]."'}
        "
;
    }
    
//Finalizar ciclo
    
$grid .= "{id: \"".$campo[0]."\", width: ".$ancho_columnas.",  sortable: true, dataIndex: '".$campo[0]."'}, 
    "
.implode(",",$arreglo_campos);
    
$grid .= "    ],
    "
;
    
$grid .= "   stripeRows: true,
    "
;
    
$grid .= "    autoExpandColumn: '".$campo[0]."',
    "
;
    
$grid .= "    height:".$alto.",
    "
;
    
$grid .= "   width:".$ancho.",
    "
;
    
$grid .= "   frame:true,
    "
;
    
$grid .= "   title:'".$titulo."',
    "
;
    
$grid .= "  plugins: new Ext.ux.PanelResizer({
        "
;
    
$grid .= "       minHeight: 100
    "
;
    
$grid .= "   }),
    "
;
    
$grid .= "bbar: new Ext.PagingToolbar({
        "
;
    
$grid .= "pageSize: 10,
    "
;
    
$grid .= "store: store,
    "
;
    
$grid .= "displayInfo: true,
    "
;
    
$grid .= "plugins: new Ext.ux.ProgressBarPager()
    "
;
    
$grid .= "   })
    "
;
    
$grid .= "});
    "
;
    
$grid .= "grid.render('".$div."');
    "
;
    
$grid .= "store.load({params:{start:0, limit:".$columnas."}});
    "
;
    
$grid .= "});
    "
;
    
$grid .= "</script>";

    return 
$grid;
} 
__________________
http://www.solucionesrios.tk/

Visita mi Web!