Ich habe ein schlampiges Problem beim Laden eines ViewPanel, die Seite öffnet, aber es sieht aus wie die Datenquelle lädt alle Dokumente gleichzeitig, an diesem Punkt versucht, ein aufgeführtes Dokument zu öffnen es dauert lange. Können Sie mir sagen, ob Sie die Anzahl der Dokumente begrenzen können, die von der Datenquelle geladen werden? um die Leistung zu verbessern.langsam zu öffnen 'viewPanel' (Xpages)
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom"
xmlns:xe="http://www.ibm.com/xsp/coreex">
<xp:this.data>
<xp:dominoView var="viewProposta" keysExactMatch="true"
dataCache="nodata">
<xp:this.categoryFilter><![CDATA[#{javascript:var filtro=[];
if(viewScope.statusVoltar!=null){
viewScope.status=viewScope.statusVoltar;
sessionScope.remove("statusVoltar");
}
if(compositeData.filtraUsuario){
filtro.push(sessionScope.usuarioLogado.nome);
}
if(compositeData.filtraEntidade){
filtro.push(sessionScope.usuarioLogado.fk_entidade_funcional);
}
return filtro.join("\\");}]]>
</xp:this.categoryFilter>
<xp:this.viewName><![CDATA[#{javascript:if(!viewScope.minhasPendencias){
if(compositeData.filtraEntidade){
switch(viewScope.status) {
case "Solicitado":
var vw = "vw_parecer_solicitado_entidade"
break;
...
}
}
if(compositeData.filtraUsuario){
switch(viewScope.status) {
case "Solicitado":
var vw = "vw_parecer_solicitado_usuario"
break;
....
}
}
}else
var vw= "vw_parecer_minhas_pendencias";
return vw;}]]>
</xp:this.viewName>
</xp:dominoView>
</xp:this.data>
<xp:viewPanel value="#{viewProposta}" rows="20" id="viewPanel1"
pageName="/xsp_parecer.xsp" viewStyleClass="bloco" var="doc">
<xp:viewColumn columnName="ds_status" id="viewColumn8"
style="">
<xp:this.facets>
<xp:viewColumnHeader value="" xp:key="header"
id="viewColumnHeader8" style="text-align:center">
</xp:viewColumnHeader>
</xp:this.facets>
<xp:this.rendered><![CDATA[#{javascript:viewScope.statusVector.length>0}]]></xp:this.rendered>
</xp:viewColumn>
<xp:viewColumn columnName="ds_parecer" displayAs="link"
style="width:18.0%">
<xp:this.openDocAsReadonly><![CDATA[#{javascript:var valores:java.util.Vector =doc.getDocument().getItemValue("no_destinatarios");
valores.addAll(doc.getDocument().getItemValue("no_emitente"));
return !valores.contains(sessionScope.usuarioLogado.nome);}]]></xp:this.openDocAsReadonly>
<xp:viewColumnHeader style="text-align:center"
value="Ds_parecer">
</xp:viewColumnHeader>
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action>
<xp:actionGroup>
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript:if(compositeData.filtraEntidade)
return sessionScope.retornarPara="/xsp_lista_propostas_unidade.xsp";
else
return sessionScope.retornarPara="/xsp_lista_propostas.xsp";}]]>
</xp:this.script>
</xp:executeScript>
<xp:openPage target="editDocument"
documentId="#{javascript:doc.getDocument().getUniversalID()}">
<xp:this.name><![CDATA[#{javascript:return "/xsp_"+doc.getDocument().getItemValueString("form").split("_")[1]+".xsp"}]]></xp:this.name>
</xp:openPage>
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>
</xp:viewColumn>
<xp:viewColumn id="viewColumn2" style="width:13%">
<xp:this.value><![CDATA[#{javascript:
if(!doc.isCategory()){
var fk=doc.getDocument().getItemValueString("fk_proposta");
if(fk == null || fk == "")
fk = doc.getDocument().getItemValueString("fk_proposta_aux");
return @DbLookup("","vw_proposta_pesquisa",fk,"ds_proposta");}}]]></xp:this.value>
<xp:viewColumnHeader id="viewColumnHeader2" value="Proposta"
style="text-align:center">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="no_processo_adm" id="viewColumn10"
style="">
<xp:this.facets>
<xp:viewColumnHeader value="No_processo_adm"
xp:key="header" id="viewColumnHeader10"
style="text-align:center">
</xp:viewColumnHeader>
</xp:this.facets>
</xp:viewColumn>
<xp:viewColumn columnName="ds_assunto">
<xp:this.facets>
<xp:viewColumnHeader value="Ds_assunto" xp:key="header"
style="text-align:center">
</xp:viewColumnHeader>
</xp:this.facets>
</xp:viewColumn>
<xp:viewColumn columnName="unidade_solicitante"
style="width:8%">
<xp:viewColumnHeader value="Unidade_solicitante"
style="text-align:center">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="no_remetente" id="viewColumn4"
style="text-align:left">
<xp:viewColumnHeader value="No_remetente"
id="viewColumnHeader4" style="text-align:center">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="ct_posicao_parecer" id="viewColumn3"
styleClass="centro">
<xp:this.rendered><![CDATA[#{javascript:viewScope.status=="Concluído"}]]></xp:this.rendered>
<xp:viewColumnHeader value="Ct_posicao_parecer"
id="viewColumnHeader3" style="text-align:center">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="dt_envio" id="viewColumn5"
styleClass="centro">
<xp:this.rendered><![CDATA[#{javascript:viewScope.status!="Concluído"}]]></xp:this.rendered>
<xp:viewColumnHeader value="Dt_envio" id="viewColumnHeader5"
style="text-align:center">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="dt_conclusao" id="viewColumn1"
styleClass="centro">
<xp:this.rendered><![CDATA[#{javascript:viewScope.status=="Concluído"}]]></xp:this.rendered>
<xp:viewColumnHeader value="Dt_conclusao"
id="viewColumnHeader1" style="text-align:center">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn id="viewColumn7" rendered="false">
<xp:this.value><![CDATA[#{javascript:return ""}]]></xp:this.value>
<xp:button value="Remover" id="killdoc">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="viewPanel1" id="eventHandler1">
<xp:this.script>
<xp:executeClientScript>
<xp:this.script><![CDATA[return window.confirm("Confirma a exclusão?")]]></xp:this.script>
</xp:executeClientScript>
</xp:this.script>
<xp:this.action><![CDATA[#{javascript:var d:NotesDocument=doc.getDocument();
apagarProposta(d);}]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:viewColumnHeader value="" id="viewColumnHeader7"
rendered="false">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:this.facets>
<xp:pager partialRefresh="true" xp:key="headerPager"
id="pager1" rendered="true" layout="Previous Group Next">
</xp:pager>
<xp:pager partialRefresh="true" layout="Previous Group Next"
xp:key="footerPager" id="pager2">
</xp:pager>
</xp:this.facets>
</xp:viewPanel>
können Sie ein Code-Snippet von dem, was Sie gerade haben, teilen? –
Ich bemerke, dass Sie 'dataCache =" nodata "' verwenden, die die Seite anweisen, die Ansichtsdaten von Grund auf neu aufzubauen, wenn eine neue POST - Operation stattfindet - wahrscheinlich ist dies der Grund für Ihre schlechte Leistung beim Öffnen eines gelisteten Dokuments oder zumindest der Grund dafür, dass es so langsam ist, wie zum ersten Mal die Sicht zu laden, vorausgesetzt, ich habe dich richtig verstanden. Irgendein besonderer Grund, warum "nodata"? – shillem
@shillem Ich weiß nicht den wahren Grund, die Konfiguration war schon so. Aber ich denke, das beeinflusst das Laden von Dokumenten. Können Sie mir sagen, ob beim Laden einer Ansicht mit mehr als tausend Dokumenten beim Laden der Ansicht alles geladen wird? Wenn die Änderung dieser Cache-Einstellung die Leistung verbessern kann? –