我使用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