2015-04-27 91 views
0

当我尝试使用时,我得到了不显示任何数据的datagrid的空白字段。 php或。 xml文件在浏览器中显示整个xml文件。使用datagrid,flash,php,mysql,as3显示数据库中的数据

billRecords.addEventListener(MouseEvent.MOUSE_DOWN, dbShow); 

function dbShow(e: MouseEvent): void { 
     data_grid.addColumn("Table No"); 
     data_grid.addColumn("Date"); 
     data_grid.addColumn("Items"); 
     data_grid.addColumn("Quantity"); 
     data_grid.addColumn("Total"); 
     data_grid.width = 1150; 
     data_grid.rowCount = 100; 
     data_grid.move(5, 35); 
     addChild(data_grid); 

     var urlPhp: String = "billrecords.xml"; 
     var request: URLRequest = new URLRequest(urlPhp); 
     var url_loader: URLLoader = new URLLoader(); 
     url_loader.addEventListener(Event.COMPLETE, completeHandler); 
     url_loader.load(request); 

     close_btn.x = 1155; 
     close_btn.y = 10; 
     addChild(close_btn); 
     close_btn.addEventListener(MouseEvent.MOUSE_DOWN, closeDbShow); 

    } 
    function completeHandler(event: Event): void { 
     var ldr: URLLoader = event.currentTarget as URLLoader; 

     // create XML datastructure from loaded XML 
     var xmlDP: XML = new XML(ldr.data); 
     var xmlDoc:XMLDocument = new XMLDocument(); 
     xmlDoc.ignoreWhite = true; 
     xmlDoc.parseXML(xmlDP.toXMLString()); 


     var dp=new DataProvider(xmlDP); 
     trace(dp); 

     data_grid.dataProvider = dp ; 

    } 

当我跟踪dp时,它显示对象。我如何获得这些对象来显示数据网格中的文本。请大家需要帮助。 DataGrid是否支持Adobe Air应用程序?谢谢

回答

0

您可以使用xmlObject本身。您只需将其转换为XML,然后将其传递给DataProvider构造函数»data_grid.dataProvider = new DataProvider(XML(ldr.data)) GreetingsAndré

+0

仍然没有得到在数据网格的文本。当我跟踪ldr.data我得到这些<?xml version =“1.0”?> 27/4/2015 冰戈拉,kulfhi,BHEL 2,1,2 27/4/2015 gola,bhel,kulfhi 1,1,1 ,当我跟踪data_grid.dataprovider我得到这些 的DataProvider [目标对象],[对象的对象] –

0

好的。 Actionscript和xml是大小写密集的语言。 datagrid无法找到例如“T able”in the xml,因为xml-node被命名为“t able”。

这应该解决的问题:

dg.addColumn("table"); 
dg.addColumn("date"); 
dg.addColumn("items"); 
dg.addColumn("quantity"); 
dg.addColumn("total"); 
dg.getColumnAt(0).headerText="Table"; 
dg.getColumnAt(1).headerText="Date"; 
dg.getColumnAt(2).headerText="Items"; 
dg.getColumnAt(3).headerText="Quantity"; 
dg.getColumnAt(4).headerText="Total"; 

而且loaderCompleteHandler:

function completeHandler(event: Event): void { 
    var ldr:URLLoader = event.currentTarget as URLLoader; 
    var xmlDP:XML = new XML(ldr.data); 
    var dp:DataProvider = new DataProvider(xmlDP);  
    data_grid.dataProvider = dp ; 
} 

问候安德烈