나는 사용자 정의 ActionScript 클래스가 있습니다플렉스 3 바인딩 문제
package EntityClasses
{
import mx.collections.ArrayCollection;
[RemoteClass(alias="tkatva.tt.entities.CompanyInfo")]
[Bindable]
public class CompanyInfo
{
public var companyInfoId:int;
public var companyName:String;
public var streetAddress:String;
public var postNumber:String;
public var city:String;
public var country:String;
public var email:String;
public var businessIdentityCode:String;
public var intBic:String;
public var homepageUrl:String;
public var lastUpdatedBy:String;
public var lastUpdateDate:Date;
public var version:int;
public var settingGroupList:ArrayCollection;
public var bankAccountList:ArrayCollection;
public var personList:ArrayCollection;
}
}
을 그리고, 텍스트 상자에이 값을 바인딩 할 있도록 할 때 너무 클래스에 채워되어있는 텍스트 상자에 사용자 유형의 정보를 제공합니다. 예를 들어, [Bindable]로 클래스를 표시하면 값을 텍스트 상자에 바인딩 할 수 있도록 Flex 3는 양방향입니까?
이 내가 클래스를 결합하려고하는 내 MXML 파일입니다
import mx.rpc.events.ResultEvent;
import EntityClasses.CompanyInfo;
[Bindable]
public var company:CompanyInfo;
public var uuid:String;
private function init():void {
company = new CompanyInfo();
}
private function getCompanyInfo():void {
try {
company = TtRo.getCompanyInfo(uuid);
} catch (Exception) {
}
}
private function handleClick():void {
this.txtInfo.text = "COMPANY:" + company.companyName;
TtRo.addCompanyInfo(company,uuid);
}
private function handleAdding(e:ResultEvent):void {
var res:Boolean;
res = e.result as Boolean;
if (res) {
this.txtInfo.text = "OK";
} else {
this.txtInfo.text = "NOTOK";
}
}
]]>
</mx:Script>
<mx:TextInput x="194" y="10" id="txtCname" text="{company.companyName}"/>
<mx:TextInput x="194" y="40" id="txtStreet" text="{company.streetAddress}"/>
<mx:TextInput x="194" y="70" id="txtPostnumber" text="{company.postNumber}"/>
<mx:TextInput x="194" y="100" id="txtCity" text="{company.city}"/>
<mx:TextInput x="194" y="130" id="txtCountry" text="{company.country}"/>
<mx:TextInput x="194" y="160" id="txtEmail" text="{company.email}"/>
<mx:TextInput x="194" y="190" id="txtBic" text="{company.businessIdentityCode}"/>
<mx:TextInput x="194" y="220" id="txtIntBic" text="{company.intBic}"/>
<mx:TextInput x="194" y="250" id="txtUrl" text="{company.homepageUrl}"/>
무슨 잘못이와? flex 컴파일러는 다음과 같은 경고 메시지를 표시합니다. 데이터 바인딩은 "회사"에 대한 할당을 감지하지 못합니다. 데이터 바인딩 플렉스
[Bindable]public var companyInfoId:int;
에 오신 것을 환영합니다, 그 사랑 : Flex와 appriciated 것입니다 도움이 ... 덕분에 새로운
임 ...
-1에서 작업의 종류에 대한 조리법을 많이했다. public 클래스 정의 전에'[Bindable]'메타 데이터 태그는 변수로 정의한 모든 public 속성과 setter 메서드와 getter 메서드를 사용하여 정의한 모든 public 속성을 바인딩 표현식의 원본으로 사용할 수 있습니다. http://livedocs.adobe.com/flex/3/html/help.html?content=databinding_8.html – Amarghosh
Ahh did spot that :( 그리고 ItemRenders와 마찬가지로 양방향으로 바인딩 할 수 있다고 가정했습니다. {}이 (가)있는 텍스트 상자에 직접 입력하십시오. 캔트처럼 보입니다! – Jammin