Here a limited example:
Flex object:
============
package object
{
[Managed]
[RemoteClass (alias="com.ds.object.Contact")]
public class Contact
{
public var id:Number;
public var firstName:String;
public var lastName:String;
public function Contact() {
super();
}
}
Java object:
============
package com.ds.object;
import java.io.Serializable;
public class Contact implements Serializable{
private long id;
private String firstName;
private String lastName;
public FlexContact() {
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Assembler:
==========
public Collection<Contact> fill(List fillParameters) {
Collection<Contact> retValue = new ArrayList<Contact>();
//...fill list with Contact Objects
return retValue;
}
Mxml file:
==========
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:comp="global.mxml.CalendarItems.*"
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
creationComplete="initApp()">
<mx:ArrayCollection id="collection"/>
<mx:Script>
<![CDATA[
import mx.event.ListEvent;
import mx.controls.DataGrid;
private function initApp(): void{
//dataservice object ds
ds.fill(collection);
}
private function doChange(event:ListEvent): void {
var dg:DataGrid = DataGrid(event.target);
/* do not cast this using Contact(dg.selectedItem)!!*/
var contact:Contact = dg.selectedItem as Contact;
}
]]>
</mx:Script>
<mx:DataGrid dataProvider="{collection}" change="doChange(event)">
<mx:columns>
<mx:DataGridColumn headerText="Contact Id" dataField="id"/>
<mx:DataGridColumn headerText="First Name" dataField="firstName"/>
<mx:DataGridColumn headerText="Last Name" dataField="lastName"/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
No comments:
Post a Comment