首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

java回到ArrayList,Flex通过remote方式进行接收,然后通过datagrid,只能取得一列数据

2012-12-30 
java返回ArrayList,Flex通过remote方式进行接收,然后通过datagrid,只能取得一列数据正在学习flex,我用java

java返回ArrayList,Flex通过remote方式进行接收,然后通过datagrid,只能取得一列数据
正在学习flex,我用java编写一个后台服务程序getuserdb.java,返回了一个ArrayList,,其中arraylist中存放了一个user类数据,通过servlet调用getuserdb.class程序能够取得arraylist中所有的数据,但用Flex通过remote方式调用getuserdb中的方法,然后通过datagrid,发现只能显示最后一列数据,在flex4中调试,发现返回的数据确实只有一列,不知道是为什么,请问该如何解决。


  由于我还没有积分,请各位谅解,谁回答我的问题,以后一定给你补上。
[解决办法]
首先确认你通过java方法获取的数据是不是只有一条,如果通过java调用没错的,你再看看赋值时候是否有错,就是你将java方法获取的数据赋给ArrayList的时候是否出错
[解决办法]
没代码,不好说。
一个是java端,用数组来接查询结果。
flex端,用数组接值,或者直接赋值时,xxx.dataProvider = data as Array;
如果你是用eclipse开发的话,请下载flex的debug插件,直接debug就清楚问题了 
[解决办法]
看看java端是否只获得了一条数据,如果不是,再仔细看看flex部分
没代码不好说
[解决办法]
楼主说的只有最后一列  数据,   没有代码不好说.


好像都人为是  最后一行 .

 呵呵
[解决办法]
你在循环外定义 UserInfo user=new UserInfo(); 

放到userlist 中肯定是一个 user.

   while(this.rs.next()){ 
 UserInfo user=new UserInfo();
String col1=rs.getString(1); 
String col2=rs.getString(2); 
String col3=rs.getString(3); 
String col4=rs.getString(4); 
        //UserInfo user=new UserInfo(col1,col2,col3,col4); 

user.setUserId(col1); 
            user.setBumengId(col2); 
            user.setBumengName(col3); 
            user.setName(col4); 
userlist.add(user); 
    } 

你在java 端应该也是看到一行数据. 
 不想你说的 在java端看到所有数据.
也不是只看到一列数据.  而是看到一行数据.


 


[解决办法]
<mx:DataGrid id="userData" x="240" y="116" width="412" height="225">
    <mx:columns>
        <mx:DataGridColumn headerText="id" dataField="userId"/>
        <mx:DataGridColumn headerText="名称" dataField="name"/>
        <mx:DataGridColumn headerText="部门Id" dataField="bumengId"/>
        <mx:DataGridColumn headerText="部门名称" dataField="bumengName"/>
    </mx:columns>
</mx:DataGrid> 

热点排行