Comunidad de diseño web y desarrollo en internet online

Ayuda con Cellrender Y ElecheckBox de Elecash.

Citar            
MensajeEscrito el 19 Nov 2005 09:01 pm
hola, encontré el el blog de Elecash un magnifico ejemplo.
bueno trato de adecuarlo a lo que necesito. pero ya me trabé, ( como siempre).
tengo un Datagrid con 3 columnas, la primera muestra una lista de checbox y la 2da y 3ra valores referenciales.

Lo que trato de hacer es:
1. Listar varios checbox en una columna. (me liga,pero aún tengo errores).

2. que al "chequear",pueda recoger el valor de éste (no el booleano).me refiero al nombre de la etiqueta del checkbox.

3. Recoger los valores de las columnas 1 y 2.

4. ponerle un scroll al datagrid porque son más de 50 y en aumento.

ahí va el codigo , malogrando lo de Elecash y alguno que otro tuto:

Código :


//Declaramos variables
enviar_lv = new LoadVars();
recibir_lv = new LoadVars();
var ordenarHacia:String = new String("asc");
var ordenarPor:String = new String();
var miXML:XML = new XML();
var datosOrdenes:Array = new Array();
var alOrdenar:Object = new Object();
var alClicar:Object = new Object();
var alSeleccionar:Object = new Object();
var selec_str:String = new String();

/***************************** EMPEZAMOS *********************************/
//El dataSet ="datos", el dataProvidder="datosOrdenes",y el datagrid ="mi_dg". (esto para no "perderme")
//Cargamos el XML
miXML.ignoreWhite = true;
miXML.onLoad = function(success){   
if (success){      
for (i=0; i<miXML.firstChild.firstChild.childNodes.length; i++){
   
   datosOrdenes.addItem({
               Productos:String(miXML.firstChild.firstChild.childNodes[i].childNodes[0].firstChild)});
                  }      
   //Asignamos al DataSet y al DataGrid   
   datos.items = datosOrdenes;
   datos.filtered = false;      
   mi_dg.dataProvider = datos.dataProvider;
   
   //Propiedades del DataGrid      
   
   mi_dg.resizableColumns = false;      
   
   mi_dg.getColumnAt(0).setStyle("textAlign", "left");         
   
         
   //Deshabilitamos ordenación de las columnas, pero no las columnas   //***   
   
   for (i=0; i<1; i++){         
   mi_dg.getColumnAt(i).sortOn.headerRelease = false;   
                  }   
      }
}
miXML.load("http://localhost/cell/tabprod.php");

//Llenamos de datos el DataGrid
mi_dg.addItem({Productos:String(miXML.firstChild.firstChild.childNodes[i].childNodes[0].firstChild),
            gpl:String(miXML.firstChild.firstChild.childNodes[i].childNodes[2].firstChild),
            percent:String(miXML.firstChild.firstChild.childNodes[i].childNodes[3].firstChild)});

//Le ponemos un alto de celda 
mi_dg.rowHeight =25;
mi_dg.resizableColumns = false;
mi_dg.sortableColumns = false;
mi_dg.vScrollPolicy = false;

//Asignamos cellRenders la columna


var columna = mi_dg.getColumnAt(0);
columna.width = 100;
columna.cellRenderer = "EleCheckBox";

//Listener para el evento click para las CheckBox
var alClicar:Object = new Object();
alClicar.click = function(objeto){
   trace(objeto.target.selected);  
   check1_txt.text=objeto.target.selected;
   check2_txt.text=objeto.target.selected;
   valor1_txt.text=objeto.target.getItemAt(objeto.target.selectedIndex).gpl;
   valor2_txt.text=objeto.target.getItemAt(objeto.target.selectedIndex).percent;
   
   
}

var alCambiar:Object = new Object();
alCambiar.change = function(objeto){
   trace(objeto.target.selectedItem);
}

alguien me puede ayudar por favor?

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Nov 2005 04:18 pm
bueno,sigo solo en esto; he probado haciendolo primero con una columna, para comenzar ya puedo:
-Listar de una base de datos la lista de los checkbox en el datagrid.
-Capturar el nombre de las etiquetas para cada checbox seleccionado.
-Y por ultimo, que tenga el scroll, vertical , (que en realidad creo que está en horizontal)
ahí va el codigo:

Código :

//Declaramos variables
var miXML:XML = new XML();
var datosOrdenes:Array = new Array();
var alClicar:Object = new Object();
   
/***************************** EMPEZAMOS *********************************/
//El dataSet ="datos", el dataProvidder="datosOrdenes",y el datagrid ="mi_dg". "EleCheckBox"= éste es el magnífico aporte de Elecash (esto para no "perderme")
************************************************************************************
//Cargamos el XML
miXML.ignoreWhite = true;
miXML.onLoad = function(success){   
if (success){      
for (i=0; i<miXML.firstChild.firstChild.childNodes.length; i++){   
   datosOrdenes.addItem({
               Productos:String(miXML.firstChild.firstChild.childNodes[i].childNodes[0].firstChild)});
                  }      
   //Asignamos al DataSet y al DataGrid   
   datos.items = datosOrdenes;
   datos.filtered = false;      
   mi_dg.dataProvider = datos.dataProvider;   
   //Propiedades del DataGrid         
   mi_dg.resizableColumns = false;         
   mi_dg.getColumnAt(0).setStyle("textAlign", "left");         
   //Deshabilitamos ordenación de las columnas, pero no las columnas   //***   
   
   for (i=0; i<1; i++){         
   mi_dg.getColumnAt(i).sortOn.headerRelease = false;   
                  }   
      }
}
miXML.load("http://localhost/cell/tabprod.php");

//Llenamos de datos el DataGrid
mi_dg.addItem({Productos:String(miXML.firstChild.firstChild.childNodes[i].childNodes[0].firstChild)
            });

//Le ponemos un alto de celda 
mi_dg.rowHeight =25;
mi_dg.resizableColumns = false;
mi_dg.sortableColumns = false;

//Asignamos cellRenders la columna
var columna = mi_dg.getColumnAt(0);
columna.width = 100;
columna.cellRenderer = "EleCheckBox";

//Listener para el evento click para las CheckBox 

var alClicar:Object = new Object();
alClicar.click = function(objeto){
   estado=objeto.target.selected;   
   etiqueta=objeto.target.label;    
   trace(estado);
   check1_txt.text=etiqueta;}

Ahora, el problema continua, porque no puedo "limpiar" el código.
y otro detalle:
Si selecciono el checkbox1, también se selecciona el checkbox7.

Alguien se quiere unir a este proyecto?

Por juce2005

100 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.