Xpages动态dojo对话框控件
我有一个使用repeat控件创建的产品列表,我希望单击一个特定的产品,并打开一个包含该特定产品更多信息的对话框。我真的不想为该页面上的每一个产品生成dijit.dialog,所以我如何使用AJAX和部分刷新动态地实现这一点呢 这里可以看到一个类似的非xpages示例:-将鼠标悬停在图像上,弹出一个快速查看按钮,然后动态加载该产品的内容Xpages动态dojo对话框控件,xpages,lotus-domino,Xpages,Lotus Domino,我有一个使用repeat控件创建的产品列表,我希望单击一个特定的产品,并打开一个包含该特定产品更多信息的对话框。我真的不想为该页面上的每一个产品生成dijit.dialog,所以我如何使用AJAX和部分刷新动态地实现这一点呢 这里可以看到一个类似的非xpages示例:-将鼠标悬停在图像上,弹出一个快速查看按钮,然后动态加载该产品的内容 如果您有任何想法,我们将不胜感激。您可以将repeat控件与Extension Library对话框控件结合使用,以便在用户单击单个行时启动对话框。Chris T
如果您有任何想法,我们将不胜感激。您可以将repeat控件与Extension Library对话框控件结合使用,以便在用户单击单个行时启动对话框。Chris Toohey撰写了一篇优秀的文章,名为《演示这一点》。您可以将repeat控件与Extension Library对话框控件相结合,以便在用户单击单个行时启动对话框。Chris Toohey撰写了一篇优秀的文章,名为《演示这一点》。我们在repeat控件之外构建对话框,然后启动或显示该对话框的操作还设置了一个viewScope变量,该变量用于对话框中的数据源UNID。只要确保在打开对话框时刷新它的内容
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
<xp:this.data>
<xp:dominoView var="promptView" viewName="dlgBoxes">
</xp:dominoView>
</xp:this.data>
<xp:panel>
<xp:repeat id="repeat1" rows="30" value="#{promptView}" var="promptEntry">
<xp:panel tagName="div">
<xp:text escape="true" id="computedField1" value="#{promptEntry.dlgName}">
</xp:text>
 
<xp:button value="details" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:
var pe:NotesViewEntry = promptEntry;
viewScope.put("dlgDocUnid", pe.getUniversalID());
getComponent("dialog1").show();
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
</xp:panel>
</xp:repeat>
</xp:panel>
<xe:dialog id="dialog1" keepComponents="false" partialRefresh="true">
<xe:this.title><![CDATA[#{javascript:
var unid = viewScope.get("dlgDocUnid");
if(!unid) return "";
var doc:NotesDocument = database.getDocumentByUNID(unid);
return doc.getItemValueString("dlgName");}]]></xe:this.title>
<xp:panel>
<xp:this.data>
<xp:dominoDocument var="dlgDoc" formName="dlgBox" action="openDocument">
<xp:this.documentId><![CDATA[#{javascript:viewScope.get("dlgDocUnid");}]]></xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
<xp:text escape="true" id="computedField2" value="#{dlgDoc.Title}">
</xp:text>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:text escape="true" id="computedField3" value="#{dlgDoc.dlg}">
</xp:text>
</xp:panel>
</xe:dialog>
</xp:view>
快乐编码
/Newbs我们在repeat控件之外构建对话框,然后启动或显示该对话框的操作还设置了一个viewScope变量,该变量用于对话框中的数据源的UNID。只要确保在打开对话框时刷新它的内容
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
<xp:this.data>
<xp:dominoView var="promptView" viewName="dlgBoxes">
</xp:dominoView>
</xp:this.data>
<xp:panel>
<xp:repeat id="repeat1" rows="30" value="#{promptView}" var="promptEntry">
<xp:panel tagName="div">
<xp:text escape="true" id="computedField1" value="#{promptEntry.dlgName}">
</xp:text>
 
<xp:button value="details" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:
var pe:NotesViewEntry = promptEntry;
viewScope.put("dlgDocUnid", pe.getUniversalID());
getComponent("dialog1").show();
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
</xp:panel>
</xp:repeat>
</xp:panel>
<xe:dialog id="dialog1" keepComponents="false" partialRefresh="true">
<xe:this.title><![CDATA[#{javascript:
var unid = viewScope.get("dlgDocUnid");
if(!unid) return "";
var doc:NotesDocument = database.getDocumentByUNID(unid);
return doc.getItemValueString("dlgName");}]]></xe:this.title>
<xp:panel>
<xp:this.data>
<xp:dominoDocument var="dlgDoc" formName="dlgBox" action="openDocument">
<xp:this.documentId><![CDATA[#{javascript:viewScope.get("dlgDocUnid");}]]></xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
<xp:text escape="true" id="computedField2" value="#{dlgDoc.Title}">
</xp:text>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:text escape="true" id="computedField3" value="#{dlgDoc.dlg}">
</xp:text>
</xp:panel>
</xe:dialog>
</xp:view>
快乐编码
/新手我只需将按钮上的刷新更改为部分刷新,就可以了!非常感谢。有趣的是你是如何做到这一点的。面板上的数据-我决定使用DataContext来定义我的文档;然后在对话框标题中-我使用了return viewScope.dlgTitle-它被设置为javascript SS动态计算-但它没有设置标题???有没有理由不计算标题?@Newbs我注意到了这个答案,即使它是两年前创建的。你能帮我回答这个问题吗?谢谢!我只需将按钮上的刷新更改为部分刷新,它就工作了!非常感谢。有趣的是你是如何做到这一点的。面板上的数据-我决定使用DataContext来定义我的文档;然后在对话框标题中-我使用了return viewScope.dlgTitle-它被设置为javascript SS动态计算-但它没有设置标题???有没有理由不计算标题?@Newbs我注意到了这个答案,即使它是两年前创建的。你能帮我回答这个问题吗?谢谢!可惜链接不再有效;可惜链接不再有效;