本文由唐勇翻译自FluorineFX官方文档(http://www.fluorinefx.com/docs/fluorine/index.html),转载请保留
(RPC data access using Datasets and Datatables)
通过设计一个数据集或数据表,例如发送一个untyped对象到Flex(在as3 中,mx.remoting.recordset类不存在) 。
在个属性在FluorineFx命名空间中被定义
[DataTableType(string remoteClass)]
[DataTableType(string tableName, string remoteClass)]
[DataTableType(string tableName, string propertyName, string remoteClass)]
示例: [DataTableType("FlexRemoteObjectSample.PhoneVO")]
Flex将从PhoneVO对象得到一个数组。
public DataTable GetDataTable()
{
DataSet dataSet = new DataSet("mydataset");
DataTable dataTable = dataSet.Tables.Add("phones");
dataTable.Columns.Add( "number", typeof(string) );
dataTable.Rows.Add( new object[] {"123456"} );
dataTable.Rows.Add( new object[] {"456789"} );
return dataTable;
}
[DataSetTypeAttribute(string remoteClass)]
示例: [DataSetType("FlexRemoteObjectSample.PersonVO")]
Flex可以接受一个 Phone VO 对象,该对象有一个"phoneNumbers"属性,该属性是ArrayCollection类型。
[DataTableType("phones", "phoneNumbers", "FlexRemoteObjectSample.PhoneVO")]
public DataSet GetDataSet()
{
DataSet dataSet = new DataSet("mydataset");
DataTable dataTable = dataSet.Tables.Add("phones");
dataTable.Columns.Add( "number", typeof(string) );
dataTable.Rows.Add( new object[] {"123456"} );
dataTable.Rows.Add( new object[] {"456789"} );
return dataSet;
}