Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/08/2009, 16:50
mash180
 
Fecha de Ingreso: febrero-2009
Mensajes: 64
Antigüedad: 15 años, 2 meses
Puntos: 1
Datagrid + Access + CellRenderer

Saludos a todos, actualmente estoy trabajando en un datagrid en el cual deseo visualizar una imagen, con la ayuda de varios tutoriales que encontre en la web logre hacerlo.

El problema esta en que las imagenes aparecen pero en un orden diferente al que deberian aparecer. Me explico, la primera imagen no aparece, aparece en el primer registro la imagen correspondiente al segundo registro. Y por supuesto en el ultimo registro no aparece ninguna imagen.

Código:
var databaseFile:String = "BasedeDatos.mdb";
var databasePassword:String = "";
var path:String = mdm.Application.path;
mdm.Database.MSAccess.connectAbs(path+databaseFile,databasePassword);
var success = mdm.Database.MSAccess.success();
if (success == false) {
	var msg:String = "No se puede conectar a la bbdd";
	mdm.Dialogs.prompt(msg);
	return;
}
//FUNCION PARA HACER LA CONSULTA A LA BBDD
GridLlegadas.editable=true;
function consulta(){
	GridLlegadas.removeAll();
	
	var sqlString:String = "SELECT BDTabla1.Fch, BDTabla2.Logo, BDTabla3.NumVue, BDTabla3.TipOpe, BDTabla3.CodLug, BDTabla3.Hor, BDTabla3.Pue, BDTabla1.Est FROM (BDTabla2 INNER JOIN BDTabla3 ON BDTabla2.CodAer = BDTabla3.CodAer) INNER JOIN BDTabla1 ON BDTabla2.CodVue = BDTabla2.CodVue WHERE (((BDTabla2.Fch)=Date()) AND ((BDTabla3.TipOpe)=1) AND ((BDTabla3.Hor)>=Format(Now(),'hh:nn')))";
	// Ejecutamos la consulta sql
	mdm.Database.MSAccess.select(sqlString);
	// Comprobamos los errores
	var error:Boolean = (mdm.Database.MSAccess.error() == "true");
	if (error) {
		var msg:String = "Ha ocurrido un error en la consulta!";
		mdm.Dialogs.prompt(msg);
		return;
	}
	//Obtenemos los datos de la consulta
	var dataSet:Array = mdm.Database.MSAccess.getData();

	var datos:Object;
	var newItemsArray:Array = new Array();
	
	for (var i = 0; i<dataSet.length;i++){
		datos = {};
		datos.Logo = dataSet[i][1];
		datos.NumVue = dataSet[i][2];
		datos.CodLug = dataSet[i][4];
		datos.Hor = dataSet[i][5];
		datos.Pue = dataSet[i][6];
		datos.Est = dataSet[i][7];
		newItemsArray.push(datos);
	}
	GridLlegadas.dataProvider = newItemsArray;
}

//FUNCION PARA MONTAR EL DATAGRID
function layoutGUI():Void {
	// Montamos el encabezado del datagrid
	GridLlegadas.setStyle("fontSize",20);
	
	GridLlegadas.columnNames = [ "Logo", "NumVue", "CodLug", "Hor", "Pue", "Est"];
	GridLlegadas.vScrollPolicy = "No";
	GridLlegadas.selectable= false;
	GridLlegadas.editable= true;
	
	GridLlegadas.rowHeight = 80;
	GridLlegadas.resizableColumns = false;
	GridLlegadas.sortableColumns = false;
	
	
	GridLlegadas.getColumnAt(0).width = 200;
	GridLlegadas.getColumnAt(0).headerText = "Aerolínea";
	GridLlegadas.getColumnAt(1).width = 150;
	GridLlegadas.getColumnAt(1).headerText = "Vuelo Nº";
	GridLlegadas.getColumnAt(2).width = 150;
	GridLlegadas.getColumnAt(2).headerText = "Origen";
	GridLlegadas.getColumnAt(3).width = 100;
	GridLlegadas.getColumnAt(3).headerText = "Hora";
	GridLlegadas.getColumnAt(4).width = 100;
	GridLlegadas.getColumnAt(4).headerText = "Puerta";
	GridLlegadas.getColumnAt(5).width = 100;
	GridLlegadas.getColumnAt(5).headerText = "Estatus";
	
	var tf:TextFormat = new TextFormat();
	tf.size = 20;
	tf.color = 0xff0000;
	tf.font = "Arial"
	tf.bold = true
	tf.align= "center"
	GridLlegadas.setStyle("headerTextFormat", tf)
	GridLlegadas.headerHeight = 28;
	
	GridLlegadas.setStyle("alternatingRowColors", [0xFFFFFF, 0xF9FCFD]);
	
	GridLlegadas.getColumnAt(0).cellRenderer = "EleImagen";
}
layoutGUI();
consulta(); //Obtenemos los datos de la bbdd