0

解決した

私が取り組んでいる Flex/PHP アプリがあります。

データ ソースには 1 つの ArrayCollection がありますが、8 つのデータグリッド (dg1 から dg8 までの名前) があります。論理的なプレゼンテーションに 8 つのデータグリッドを使用します (大学 4 年間、年 2 学期)。クリックすると関数に移動する「X」(「このレコードを削除」) の列があります。

私がやりたいのは、データグリッド ID (「dg1」など) とデータ プロバイダー {syllabus.freshFall} を関数に渡すことです。私はこれを行う方法を見つけるために一生懸命努力してきましたが、単一のデータグリッドの例 (かなり簡単に見えます) しか見つけられず、次のような単一の固定データグリッドを参照しています:

course_id=dg1.selectedItem.course_ID;
syllabus.freshFall.removeItemAt(dg1.selectedIndex);

私はこれを次のようにしたい:

course_id=**whateverDataGrid**.selectedItem.course_ID;
**whateverDataProvider**.removeItemAt(**whateverDataGrid**.selectedIndex);

今、c_id 変数を HTTPService に渡すのに助けが必要です。

ご助力いただきありがとうございます!

4

1 に答える 1

0

部分的な回答:

Adobe LiveDocs for Flex 3 の助けを借りて

<mx:LinkButton label="X" click="outerDocument.itemClickEvent('1',event)"/>


public function itemClickEvent(id:String, event:MouseEvent):void {
        var mydp:Object;
        switch(int(id))
        {
            case 1:
                mydp=syllubus.freshFall;
                break;
                               .
                               .
                            case 8:
                mydp=syllubus.seniorSpring;

            default:
                trace("Out of range");
                break;
        }
        id = "dg" + id;
        c_id=this[id].selectedItem.course_ID;
        mydp.removeItemAt(this[id].selectedIndex);  //superficial datagrid delete

完全にするために、データプロバイダーをより変数にしたいと思います。私はいくつかの異なるアプローチを試しましたが、ケースステートメントは私が望んでいたものに最も近く、今のところうまくいきました。

関数から HTTPService に c_id 変数を渡す方法を考え出しました。私が望んでいたほど正確ではありません...

Object 型の変数を作成します。渡したい変数の名前のオブジェクトに要素を追加します。変数の値を追加します。渡す

次のようになります。

function blah (var:int, ...rest):void {

code...

code...

c_id= *whatever*;
params["cid"] = c_id;
update.send(params);  (where "update" is the HttpService id)
}

.
.
.
.

<mx:HTTPService 
    id="update"     
    url="http://localhost/myFile.php" 
    method="POST"  
    etc...>
 <mx:request>
   <xmlstring>{XMLString}</xmlstring>   (this xml string is generated elsewhere)
   <cid>c_id</cid>
 </mx:request>
</mx:HTTPService>

これが他の誰かに役立つことを願っています。これをまとめるのはちょっと大変でした。

于 2011-03-24T03:07:45.070 に答える