1

アクション スクリプト 3 Flash CS5 Excel スプレッドシートの csv ファイルから集落名を入力したデータグリッドがあります。ユーザーが行にカーソルを合わせると、その行の決済ムービークリップが表示されます。それを実現するには、以下のコードでどのようなコーディングを行う必要がありますか?

私は過去にボタンで管理されたeventListenersを持っていました.1つのボタンが1つのMovieClipを呼び出しますが、これは私を困惑させました。私はコーディングの快適ゾーンから外れているので、コードを確認する必要があります。コードに座ってください。あなたが答えとしてポストコーディングを行っているので、私たちの祈りに対する答えのように見えるこのサイトに出くわしました.

もう 1 つの課題は、データグリッドが実際に名前を表示することです。たとえば、Devil's Bridge ですが、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

セルの MouseOver イベントを定義する必要があり、そのイベント関数で、粒子状の行データを提供するコードを書き留めるだけです。セルは行と列に関連付けられています。行 ID を取得できます。Cell MouseOver イベントで、Row id を取得し、選択した行とフォーマットのすべての列データを必要に応じて取得します。

于 2012-11-14T14:26:26.820 に答える