FluorineFx 학습 정리 (1)
10959 단어 배우다
Game.cs(솔리드 클래스)
namespace ServiceLibrary1
{
[TransferObject]
public class Game
{
public int ID { get; set; }
public string Name { get; set; }
public string Country { get; set; }
}
}
GameTask.cs(운영 클래스)namespace ServiceLibrary1
{
[RemotingService]
public class GameTask
{
public Game GetGame()
{
return new Game { ID = 1, Name = " ", Country = " " };
}
[DataTableType("ServiceLibrary1.Game")]
public DataTable GetDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Country", typeof(string));
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = "《 》";
dr["Country"] = " ";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 2;
dr["Name"] = "《 》";
dr["Country"] = " ";
dt.Rows.Add(dr);
return dt;
}
[DataSetType("ServiceLibrary1.DSClass")]
[DataTableType("group1", "myTable1", "ServiceLibrary1.Game")]
[DataTableType("group2", "myTable2", "ServiceLibrary1.Game")]
public DataSet GetDataSet()
{
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add("group1");
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Country", typeof(string));
DataRow dr = dt.NewRow();
dr["ID"] = 3;
dr["Name"] = "《 》";
dr["Country"] = " ";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 4;
dr["Name"] = "《 》";
dr["Country"] = " ";
dt.Rows.Add(dr);
//table2
dt = ds.Tables.Add("group2");
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Country", typeof(string));
dr = dt.NewRow();
dr["ID"] = 5;
dr["Name"] = "《 》";
dr["Country"] = " ";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 6;
dr["Name"] = "《 》";
dr["Country"] = " ";
dt.Rows.Add(dr);
return ds;
}
}
}
1. <mx:RemoteObject id="ro1" destination="fluorine" source="ServiceLibrary1.GameTask" fault="onFault(event)">
<mx:method name="GetGame" result="onResult(event)"></mx:method>
<mx:method name="GetDataTable" result="onDataTableResult(event)"></mx:method>
<mx:method name="GetDataSet" result="onDataSetResult(event)"></mx:method>
</mx:RemoteObject>
2. 코드 직접 접근private function onCodeClick(event:MouseEvent):void
{
var nc:NetConnection = new NetConnection();
var responder:Responder = new Responder(onCodeResult,onCodeStatus);
nc.objectEncoding = ObjectEncoding.AMF3;
nc.connect("http://localhost:4608/Web/gateway.aspx");
nc.call("ServiceLibrary1.GameTask.GetDataSet",responder);
}
private function onCodeResult(result:Object):void
{
this.dataGrid1.dataProvider = result.myTable2 as ArrayCollection;
}
private function onCodeStatus(event:Object):void
{
trace("Error");
}
3. 되돌아오는 대상을 받는다서버측 객체와 동일한 구조의 AS3 객체를 만들어 반환 값을 받거나 Object로 직접 받을 수 있습니다.
private function onResult(event:ResultEvent):void
{
var obj:Object = event.result as Object;
this.lblResult.text = obj.Name;
}
4. 반환된 DataTable 수신서버 측의 DataTable, Flex 측에서 Array Collection으로 전환할 수 있음;주의해야 할 것은 서버 측이 이 방법 앞에서 [DataTableType(remoteClass:String)]
private function onClick(event:MouseEvent):void
{
ro1.GetDataTable();
}
private function onDataTableResult(event:ResultEvent):void
{
this.dataGrid1.dataProvider = event.result as ArrayCollection;
}
5. 반환된 DataSet 수신DataSet에는 여러 DataTable이 포함되어 있으며 서버에서 DataSet 메소드를 반환할 때 다음과 같은 여러 DataSetType 선언이 필요합니다.
[DataSetType("ServiceLibrary1.DSClass")]
[DataTableType("group1", "myTable1", "ServiceLibrary1.Game")]
[DataTableType("group2", "myTable2", "ServiceLibrary1.Game")]
public DataSet GetDataSet()
{
DataSet ds = new DataSet();
DataTable dt1 = ds.Tables.Add("group1");
//……
DataTable dt2 = ds.Tables.Add("group2");
//……
}
이곳의 DataSetType이 정의한DSClass는 이런 실체류가 대응할 필요가 없을 것 같아서 아무렇게나 써도 문제가 없다.DataTableType의 매개 변수는 DataTableType(표 이름, 인용할 때의 속성 이름, 상응하는 클래스 이름)이다.private function onClick(event:MouseEvent):void
{
ro1.GetDataSet();
}
private function onDataSetResult(event:ResultEvent):void
{
this.dataGrid1.dataProvider = event.result.myTable2 as ArrayCollection;
}
6. 반환된 객체 배열 수신(Object[])객체 배열은 Flex의 Array로 직접 수신할 수 있습니다.
private function onCodeResult(result:Array):void
{
this.dataGrid1.dataProvider = result;
}
7. 반환받은 List이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Hive 설치 구성 시작 시 발생하는 문제 및 해결 방법이 문제가 발생했을 때 환경 변수 하나만 추가하면 해결할 수 있다. export HADOOP_USER_CLASSPATH_FIRST=true 구현 단계: bashrc를 열면 export HADOOP_USER_CLASS...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.