1

Action Script 3 Flash CS5 我们有一个数据网格,它来自一个 csv 文件,来自一个 excel 电子表格。用户将鼠标悬停在一行上,该行中的结算影片剪辑就会显示出来。请问下面这段代码中的编码应该是什么?

我过去在按钮上管理 eventListeners,一个按钮调用一个 MovieClip,但这让我很难过。我在编码方面超出了我的舒适区,所以需要查看代码,请坐在我们的代码中。当您发布编码作为答案时,我遇到了这个网站,它看起来是我们祈祷的答案。

另一个挑战是数据网格显示名称,例如魔鬼桥,但 MC 实例名称和编码不喜欢间隙和撇号,下面的编码现在通过在行中添加字符串来做到这一点。

理想情况下,我们需要它来更改名称,以便它们与幕后的 MC 实例名称相匹配,用户可以看到间隙和撇号,但不确定是如何完成的。

我们具有虚构名称的测试数据网格目前是 3 列,但真正的 mcoy 会有更多。这是针对公交路线的,如果 Excel 表看到由于服务时间过长而添加了另一列,则保存为 csv 我想知道代码是否会看到这个或需要更改?

import flash.net.URLLoader;  
import flash.events.Event;  
import flash.net.URLRequest;  
import fl.data.DataProvider;  
import fl.controls.DataGrid;  

var urlLoader:URLLoader = new URLLoader();  
urlLoader.addEventListener(Event.COMPLETE,completeF);  
urlLoader.load(new URLRequest("TestNames.csv"));  
var MyDataGrid:DataGrid  

function completeF(e:Event):void{  
    var dataS:String = e.target.data;  
    var dataA:Array = dataS.split("\n").join("").split("\r");  
    var dpA:Array = [];  
    var itemA:Array;  
    var r:RegExp = /\W/g;  
    for(var i:int=0;i<dataA.length;i++){  
        itemA = dataA[i].split(",");  
        dpA.push({"column1": String(itemA[0]).replace(r, ""), "column2": String(itemA[1]).replace(r, ""), "column3": String(itemA[2]).replace(r, "")});  
    }  
    var dp:DataProvider = new DataProvider(dpA);  
    MyDataGrid.columns = ["column1","column2","column3"]  
    MyDataGrid.dataProvider = dp;  
}  

希望你能帮忙。

环境学

4

1 回答 1

0

您必须定义单元格鼠标悬停事件,并在该事件函数中写下将提供颗粒行数据的代码。单元格与行和列相关联。所以我们可以得到行标识。在 Cell MouseOver 事件中,只需获取 Row id 并根据您的要求获取所选行和格式的所有列数据。

于 2012-11-14T14:26:26.820 回答