Надеюсь, у меня есть смысл. На нашем веб-сайте есть раздел «Глоссарий», в котором есть две категории категорий: «Страна» и «Апла» (то есть: A, B, C, D и т. Д.). Альфа-текст, однако, не отображается. Первое изображение - это то, что вы видите при первом входе на страницу. Второе изображение - это то, что вы получаете, когда расширяете страну. Обратите внимание, что текст aplhaSort не соответствует ожидаемому, как на макетах изображений 3 и 4.
Я публикую свой код ниже. Код beforePageLoad вызывает функцию getExpandedLevel, а afterPageLoad должен заполнять данные.
function getExpandLevel(){
var first = document1.getItemValueString("Continent") + "#" + sessionScope.LanguageP + "#" + document1.getItemValueString("Department");
dBar.info("getExpandLevel ---- first=" + first);
dBar.info("expandLevel=1")
viewScope.expandLevel = "1"
}
afterPageLoad code:
//lookup the right country
var country = "USA";
dBar.info("browserL: "+ sessionScope.BrowserL)
// code below is if we are opening data based on preferred language
switch (sessionScope.LanguageP) {
case "americas-en":
country = "USA";
break;
case "americas-es":
country = "LATIN AMERICA";
break;
case "americas-ca":
country = "CANADA";
break;
case "eme-de":
country = "GERMANY";
break;
case "eme-en":
country = "UK";
break;
case "eme-es":
country = "SPAIN";
break;
case "eme-fi":
country = "FINLAND";
break;
case "eme-fr":
country = "FRANCE";
break;
case "eme-it":
country = "ITALY";
break;
case "eme-nl":
country = "NETHERLANDS";
break;
case "eme-se":
country = "SWEDEN";
break;
case "ao-in":
country = "INDIA"
break;
default:
country = "USA";
};
dBar.info("country: " + country);
var first =document1.getItemValueString("Continent") + "#"+ sessionScope.LanguageP + "#" + document1.getItemValueString("Department");
//var first = document1.getItemValueString("Continent") + "#" + sessionScope.BrowserL + "#" + document1.getItemValueString("Department");
//var first =document1.getItemValueString("Continent") + "#"+ sessionScope.LanguageP + "#" + document1.getItemValueString("Department")+"#"+document1.getItemValueString("alphaSort");
dBar.info("first :" + first);
var viewName = "Definitions"
//var viewName="Glossary";
var dbName = configBean.getValue("HomeDbPath");
dBar.info("dbName: "+dbName);
var db = session.getDatabase(session.getServerName(), dbName,false );
if (db != null){
var search = new java.util.Vector();
search.add(first);
dBar.info("country: " + country);
search.add(country);
var vw:NotesView = db.getView(viewName);
var ve:NotesViewEntry = vw.getEntryByKey(search);
if (ve != null){
dBar.info("position is " + ve.getPosition("."));
var pos = @LeftBack(ve.getPosition("."), ".");
dBar.info("computed position is " + pos);
getComponent("dataView1").getDataModel().getDominoViewDataContainer().expand(pos);
}else{
dBar.info("view Entry is null");
}
} else {
dBar.info("database not found");
}
Исходный код XPage:
<!-- main content row -->
<xp:panel styleClass="row contacts">
<xp:panel
id="panelContactsListing"
styleClass="col-sm-6 scroll">
<xe:widgetContainer
id="widgetContainer1"
titleBar="true"
titleBarText="${langBean.titleTerms}"
styleClass="glossary-listing">
<xe:dataView
id="dataView1"
var="viewEntry"
openDocAsReadonly="true"
rows="999"
indexVar="idxVar">
<xp:this.facets>
<xp:panel
xp:key="categoryRow"
id="panel1">
<xp:text
escape="true"
id="computedField1"
value="#{viewEntry.Country}">
</xp:text>
</xp:panel>
<xp:div
xp:key="alphaSort"
id="alphaSortRow">
<xp:text
escape="false"
id="computedField5"
value="#{viewEntry.sort}">
</xp:text>
</xp:div>
<xp:panel
xp:key="summary"
id="panelDetail1">
<xp:link
escape="true"
id="link1">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="details">
<xp:this.action><![CDATA[#{javascript:
var ve:NotesXspViewEntry = viewEntry;
viewScope.defUnid = ve.getUniversalID();}]]></xp:this.action>
</xp:eventHandler>
<xp:div>
<xp:text
escape="true"
id="computedField2"
value="#{viewEntry.Subject}">
</xp:text>
</xp:div>
</xp:link>
</xp:panel>
</xp:this.facets>
<xe:this.data>
<xp:dominoView
var="view1"
databaseName="${configBean.HomeDbPath}"
viewName="Definitions"
expandLevel="1"
categoryFilter="${document1.Continent}#${sessionScope.LanguageP}#${document1.Department}">
</xp:dominoView>
</xe:this.data>
</xe:dataView>
</xe:widgetContainer>
</xp:panel>
Чего мне не хватает, что не позволяет отображать текст aphaSort?