当我尝试时,我得到了不显示任何数据的数据网格的空白字段。php
或 。xml
浏览器中的文件,它会显示整个 xml 文件。
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 应用程序中工作吗?谢谢
您可以使用 xmlObject 本身。您只需将其转换为XML
,然后再将其传递给DataProvider
构造函数 » data_grid.dataProvider = new DataProvider(XML(ldr.data))
问候安德烈
好的。Actionscript 和 xml 是大小写密集型语言。数据网格在 xml 中找不到例如"Table",因为 xml 节点被命名为"table"。
这应该可以解决问题:
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";
和加载器完成处理程序:
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 ;
}
问候安德烈