我使用zk框架MVVM
的方法,并希望显示grid
每页1000-2000行(这真的需要用户)但它是很多的信息,每个用户将消耗大约30Mb,如果我会将我的grid
model
(List<Object>
)保存在服务器端的内存中。我决定在服务器端渲染这类信息并清理内存,但如果我使用这种方法,我应该去客户端编程。 (为jjax调用写js等) 找不到这个问题的好解决方案。我应该在客户端使用auRequest
,RowRender
或Render script
,或者在渲染网格之后使用空数据?zk框架内存网格
UPD: ZUL
<grid apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('Pojo')"
self="@define(content)" height="100%" width="100%">
model="@load(vm.o)" emptyMessage="${c:l('empty_table')}"
stubonly="true" onCreate="@command('clear')">
<columns>
...cols...
</columns>
<template name="model">
<row>
<label value="@load(each.data)" />
</row>
</template>
</grid>
JAVA:
public class Pojo {
private List<Object> o;
private Grid g;
@Init
public void init(){
o = loadFromDaoOneHundredItems()
}
@AfterCompose
public afterCompose(@ContextParam(ContextType.VIEW) Component view){
g.setPageSize(1000);
}
}
UPD
final Rows rs = new Rows();
for (int i = 0; i < 1000; i++) {
final Row r = new Row();
r.appendChild(new Label("sdf"));
r.appendChild(new Label("sdf"));
r.appendChild(new Label("sdf"));
rs.appendChild(r);
}
grid.appendChild(rs);
ListModelList<Object> o = null;
grid.setModel(o);
请先提供验证码。其次,2000行如何同时显示?你使用ZK CE还是PE/EE?这些数据是什么样的?不同的用户需要加载不同的数据吗?如果没有,你应该缓存你的数据(如果只有很小的差异必须单独保存,那么也一样)。 –
我添加伪代码,是2000行,这是可怕的,但可以。我使用免费版本的ZK。我认为是CE。数据POjO'String'和'int'。是的每个用户需要加载不同的数据。我想只输出像'php'中的'html'。并通过JS发送AJAX或通过auRequests。但我找不到教程。官方zk切成块。很难理解它。谢谢。 – Mrusful