そのため、XMLファイルからデータグリッドにデータをロードしようとしています。プロジェクトはCairngormフレームワークにあります。XMLファイルはWebコンテンツフォルダーにあります。ServicesフォルダーにHTTPService呼び出しがあります。
<mx:HTTPService
id = "getCategory"
url = "assets/CategoryDept21Class1.xml"
resultFormat = "e4x"
/>
あるdataGridで選択を行うと、別のdataGridにXMLファイルのデータが入力されることになっています。以下は、クラスのデータグリッドです。クラスをクリックすると、次のデータグリッドにデータが入力されることになっています。
<mx:DataGrid rowCount="10" enabled="true"
dataProvider="{classList}"
verticalScrollPolicy="on"
click = "onClass()"
id="classes" width="192" top="73" left="253" height="225">
<mx:columns>
<mx:DataGridColumn headerText="#" dataField="merchandiseClassNumber" width="50"/>
<mx:DataGridColumn headerText="Class Name" dataField="merchandiseClassDescription" width="150"/>
</mx:columns>
</mx:DataGrid>
これらはトリガーされるメソッドです。
private function selectClass(evt:ResultEvent):void{
//this.categoryList = new XMLListCollection(evt.result.resultSet);
this.categoryList= evt.result.resultSet.MerchandiseAssortmentCategory;
var request:AMTCategoryEvent;
CairngormEventDispatcher.getInstance().dispatchEvent(request);
}
private function onClass():void{
//Alert.show("you just clicked on a class ");
var event:AMTCategoryEvent = new AMTCategoryEvent();
CairngormEventDispatcher.getInstance().dispatchEvent(event);
}
これが私のデリゲートでgetCategory()を定義した方法です
public function getCategory() : void
{
service = ServiceLocator.getInstance().getHTTPService("getCategory") as HTTPService;
//Alert.show(service.url);
var token : AsyncToken = service.send();
token.addResponder(responder);
}
これがgetCategoryCommandにあるものです。
public function execute(event: CairngormEvent) : void{
var categoryEvent: AMTCategoryEvent = event as AMTCategoryEvent;
var deleg:Delegate = new Delegate(this);
deleg.getCategory();
//deleg.getCategory(categoryEvent.deptNumber, categoryEvent.classNum);
}
public function result(info:Object) :void{
trace("Get Category: Success");
// __model.categoryList = new XMLList(info.result.resultSet.MerchandiseAssortmentCategory);
var xmlbleh:XMLList=info.result.resultSet.MerchandiseAssortmentCategory.lastResult;
mx.controls.Alert.show(xmlbleh.toXMLString());
__model.categoryList = new XMLListCollection(XMLList(info.result.resultSet.MerchandiseAssortmentCategory.lastResult));
}
何らかの理由で、xmlファイルのデータをデータグリッドに読み込んでいません。これはこのウェブサイトでの私の最初の質問です。私の質問が明確かどうかはわかりません。しかし、私はそれをどのように行うでしょうか?ありがとう :)