关于smartGWT中的dataSource

被诅咒的右手 发布于 2010/11/17 09:42
阅读 2K+
收藏 0

初学GWT有很多不懂 清多指教

我从SERVER端 返回了一个 ArrayList<users>

users是个实体类,里边有id,username,userpwd三个字段

我如何 将这个ArrayList放到 DataSource中

加载中
0
ぁ寻ひと梦★
ぁ寻ひと梦★

我也不会,只能帮楼主顶了哦,我也正在学习这呢

0
s
st97


你可以写一个servlet生成xml格式例如

<list>

<user>

<id>111</id>

<username>aaa</username>

<userpwd>bbb</userpwd>

</user>

<user>

<id>222</id>

<username>ccc</username>

<userpwd>ddd</userpwd>

</user>

</list>

然后前台的onModuleLoad可以这样写
onModuleLoad{

DataSource ds=new DataSource();
DataSourceIntegerField id=new DataSourceIntegerField("id","编号");
DataSourceTextField username=new DataSourceTextField("username","姓名");
DataSourceTextField userpwd=new DataSourceTextField("userpwd","密码");
ds.setFields(id,username,userpwd);
ds.setDataFormat(DSDataFormat.XML);
ds.setRecordXPath("/list/user");
ds.setDataURL("后台servlet的url");

final ListGrid grid = new ListGrid();  
grid.setWidth(400);  
grid.setHeight(224);
grid.setDataSource(ds);  
grid.setAutoFetchData(true);  
grid.draw();
}

0
被诅咒的右手

引用来自#3楼“st97”的帖子


你可以写一个servlet生成xml格式例如

111

aaa

bbb

222

ccc

ddd

然后前台的onModuleLoad可以这样写
onModuleLoad{

DataSource ds=new DataSource();
DataSourceIntegerField id=new DataSourceIntegerField("id","编号");
DataSourceTextField username=new DataSourceTextField("username","姓名");
DataSourceTextField userpwd=new DataSourceTextField("userpwd","密码");
ds.setFields(id,username,userpwd);
ds.setDataFormat(DSDataFormat.XML);
ds.setRecordXPath("/list/user");
ds.setDataURL("后台servlet的url");

final ListGrid grid = new ListGrid();  
grid.setWidth(400);  
grid.setHeight(224);
grid.setDataSource(ds);  
grid.setAutoFetchData(true);  
grid.draw();
}

那我是不是 就可以从SERVER端 用XStream将ArrayList 序列化成一个XML  然后返回?

还有一个问题   我看smartGWT  showCase的那个例子里有关DATASource的实体类都继承了ListGridRecord

GET/SET方法也变为了  SETattribute 和getAttribute  我是不也要这样做呢

0
s
st97

DATASource不可能继承ListGridRecord啊,你看的哪个例子。。。

showcase里用ListGridRecord是因为它用的那几个例子里数据比较少,而且是静态的,所以直接生成ListGridRecord对象然后传给ListGrid。

每个ListGridRecord对象对应一行记录,ListGridRecord是继承的Record类,Record类的作用就是用来封装数据的,用SetAttribute 和getAttribute 来设置或获取里边的数据。

用DataSource就可以实现动态的获取数据,他可以将指定url的xml或json解析为Record数组供控件来使用

0
被诅咒的右手

为什么 我写完的程序 是在 界面都加载完以后 才开始执行回调的方法呢

这个顺序可以更改么

0
小可丶同学
小可丶同学

顶是什么意思啊?

0
金倩
金倩

用用MVC不就行了吗??

返回顶部
顶部