0

ドロップダウンリストで発見します。

実際、私はmysqlデータベースへのクエリによってデータをロードします。

しかし、mysqlでは1つのレコードに空のフィールドがあります。

そしてこの場合、''の代わりに[オブジェクトオブジェクト]をフレックス表示します。

[Bindable] private var DP_CLASSES:ArrayCollection;

<s:DropDownList id="dpClassTT" width="77" 
    dataProvider="{DP_CLASSES}"labelField="Nom"
    />

//DataProviderサンプル

 <TypesTT>
   <TypeTT>
     <Nom> </Nom>
   </TypeTT>
   <TypeTT>
     <Nom>AppA</Nom>
   <TypeTT>
<TypesTT>

[Objetオブジェクト]という行は、名前がempy(レコード1のように)であってもドロップダウンリストに表示されます。

あなたはそれを解決する方法を知っていますか?

ありがとう

4

1 に答える 1

1

ここに投稿した限られた情報から言えることはlabelField、ドロップダウンリストのを設定する必要があるということだけです。

あなたは次のようなmxmlでこれを行うことができます

<s:DropDownList dataProvider="{myQuery}" labelField="colName" />

または、次のようなlabelFunctionを設定します。

<s:Script>
    private function toLabel(item:Object):String {
        return item["colName"].toString();
    }
</s:Script>
<s:DropDownList dataProvider="{myQuery}" labelFunction="toLabel" />

質問を更新した後で編集してください。labelFunctionを使用する方が良いと思います。

labelFunctionは次のようになります。

function toLabel(item:Object):String {
    var str:String=item["Nom"] as String;
    if(str==null || str==undefined) {
        str="";
    }
    return str;
}

空のタグNomはAS3でXMLListオブジェクトとして取得されるため、これを行う必要があります。そのため、タグをキャストする必要があります。

于 2012-05-25T06:04:25.893 に答える