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