Показать сообщение отдельно
Старый 01.06.2011, 14:42
ghostdom вне форума Посмотреть профиль Отправить личное сообщение для ghostdom Найти все сообщения от ghostdom
  № 1  
Ответить с цитированием
ghostdom

Регистрация: Dec 2009
Сообщений: 3
По умолчанию Проблемма с отображением картинки в DataGrid

Здравствуйте. Пытаюсь вставить картинки в DataGrid. Привожу код классов отвечающих за это:

Internet.as

Код AS3:
package ghostdom
{
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import fl.events.ComponentEvent;
import fl.events.DataGridEvent;
 
import flash.display.MovieClip;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
import flash.text.TextField;
import flash.utils.Timer;
 
public class Internet extends MovieClip
{
 private var my_internet:internet_src;
 private var main_dg:Object;
 
 private var timer:Timer;
 private var val_loader:URLLoader;
 private var urlRequest:URLRequest;
 private var myDataLoad:InternetGridLoader;
 
 public var data_request:URLRequest;
 public var data_loader:URLLoader;
 public var data_variables:URLVariables;
 
 public  var dp:DataProvider;
 private var loader:URLLoader;
 private var request:URLRequest;
 private var myXML:XML;
 private var myDg:Object;
 
 public var myDataGrid:DataGrid;
 
 public function Internet()
 {
  super();
 
  show_internet_win();
 }
 
 private function show_internet_win():void
 {
  my_internet = new internet_src();//инициализация окна интернет
  my_internet.name = "my_internet";
  my_internet.x = -120;
  my_internet.y = -50;
  my_internet.width = 1500;
  my_internet.height = 641;
  my_internet.alpha = 0.95;
  my_internet.visible = true;
  addChild(my_internet);
 
  loader = new URLLoader();
  request  = new URLRequest();
  request.url = "http://localhost/digitals/load_internet_info.php";
  loader.addEventListener(Event.COMPLETE, requestCompleteListener);
  loader.load(request);
 }
 
 private function requestCompleteListener(e:Event):void
 {
 
  myDg = my_internet.internet_dg;
 
  if (dp)
  {
   dp.removeAll();
  }
 
  dp = new DataProvider();
  var myArray:Array = new Array();
  var tempLoader:URLLoader = URLLoader(e.target);
  var newXML:XML = new XML(tempLoader.data);
 
  if (newXML != "")
  {
   for each (var list:XML in newXML.list)
   {
    dp.addItem({id:list.id.text(),photo:list.photo.text(),name:list.name.child("FONT").toXMLString()});
   }
  }
 
  var idCol:DataGridColumn = new DataGridColumn("id");
  var photoCol:DataGridColumn = new DataGridColumn("photo");
  var nameCol:DataGridColumn = new DataGridColumn("name");
  nameCol.cellRenderer = MultiLineHtmlCell;
 
  myDataGrid = new DataGrid();
  myDataGrid.name = "myDataGrid";
  myDataGrid.addColumn(idCol);
  myDataGrid.columns[0].visible = false;
  myDataGrid.addColumn(photoCol);
  myDataGrid.columns[1].headerText = "";
 
  photoCol.cellRenderer = LoaderCellRend;
 
  myDataGrid.cacheAsBitmap = true;
  myDataGrid.addColumn(nameCol);
  myDataGrid.columns[2].headerText = "";
  myDataGrid.dataProvider = dp;
  myDataGrid.resizableColumns = false;
  myDataGrid.rowHeight = 80;
  myDataGrid.columns[1].width = 160;
  myDataGrid.rowCount = 7;
  myDataGrid.setSize(897,553);
  myDataGrid.x = -90;
  myDataGrid.y = 5;
 
  addChild(myDataGrid);
 }
}
}
LoaderCellRend.as

Код AS3:
package
{
 
import fl.containers.UILoader;
import fl.controls.listClasses.ListData;
import fl.controls.listClasses.ICellRenderer;
 
public class LoaderCellRend extends UILoader implements ICellRenderer
{
 protected var _data:Object;
 protected var _listData:ListData;
 protected var _selected:Boolean;
 
 public function LoaderCellRend()
 {
  super();
 }
 
 public function get data():Object
 {
  return _data;
 }
 
 public function set data(value:Object):void
 {
  _data = value;
  source = value.Image;
 }
 
 public function get listData():ListData
 {
  return _listData;
 }
 
 public function set listData(value:ListData):void
 {
  _listData = value;
 }
 
 public function get selected():Boolean
 {
  return _selected;
 }
 
 public function set selected(value:Boolean):void
 {
  _selected = value;
 }
 
 public function setMouseState(state:String):void
 {
 }
 
}
}
Картинки как и все остальные данные загружаются из БД. Ссылка на картинку типа - "http://localhost/digitals/one.jpg"

К сожалению у меня ничего не получается. В результате вижу это:



Уже несколько дней бьюсь с этой проблеммой. Облазиил всю сеть в поисках решения и до сих пор ничего не нашел. Так что пожалуйста не отправляйте меня в поиск) Если можете дайте нормальное обьяснение. Тем более что этот же код в другом проэкте работает без проблем. Заранее спасибо
Изображения