【菜鸟求助】请问,我现在.NET里面取到了数据,但是在FLEX的datagrid里面现实不出来,可能是什么原因呢?
flex的AS文件,定义数据类型,文件名CustomerVO
package
{
[RemoteClass(alias="Flex.CustomerVO")]// 这里面FLEX是不是固定的?CustomerVO是文件名?
public class CustomerVO
{
public var UserId:String;
public var UserName:String;
public var Tel:String;
}
}
.NET
namespace ServiceLibrary
{
[RemotingService]
public class DataService
{
private string GetConnectionString()
{
return ConfigurationManager.ConnectionStrings["MSSql2005ConnectionString"].ConnectionString;
}
[DataTableType("Flex.CustomerVO")] //这的Flex.CustomerVO[RemoteClass(alias="Flex.CustomerVO")]一样?
public DataTable GetUserInfo(string UserId)
{
using (SqlConnection conn = new SqlConnection(GetConnectionString()))
{
。。。//返回值 有值的
return result;
}
}
}
}
Flex
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.collections.ArrayCollection;
[Bindable]
private var customers:ArrayCollection;
private var customerVORef:CustomerVO;//这个有啥用?不知道呢,例子里面写的
private function getCustomers(areaCode:String):void
{
ro.GetUserInfo(areaCode);
}
public function customersHandler(event:ResultEvent):void
{
customers = event.result as ArrayCollection;
}
<mx:RemoteObject id="ro" destination="fluorine" source="ServiceLibrary.DataService" fault="faultHandler(event)">
<mx:method name="GetCustomers" result="customersHandler(event)"/>
</mx:RemoteObject>
<mx:DataGrid id="dg" dataProvider="{customers}" width="100%" height="100%">
<mx:columns>
<mx:DataGridColumn headerText="用户代码" dataField="UserId" width="100"/>
<mx:DataGridColumn headerText="用户名" dataField="UserName" width="100"/>
<mx:DataGridColumn headerText="联系电话" dataField="Tel" width="100"/>
</mx:columns>
</mx:DataGrid>
datatable里面是有值的,但是就是不在页面上显示,也没有报错信息。
请高人帮我看一下,谢谢
[解决办法]
1、问什么没有值请看
<mx:RemoteObject id="ro" destination="fluorine" source="ServiceLibrary.DataService" fault="faultHandler(event)"> <mx:method name="GetCustomers" result="customersHandler(event)"/> </mx:RemoteObject>