我创建了一个动态视图面板.我有复选框.我把这个叫做"dynamicViewPanel1"并将数据源名称设置为"dViewData"
到目前为止一切顺利,一切正常.
现在我创建了一个名为"Delete"的按钮,并将其设置为删除所选文档的简单操作,并将视图控件设置为"dViewData".
当我选择一个或多个文档并单击删除时,我收到以下错误.
javax.faces.FacesException:无法找到目标视图控件dViewData.我认为是因为数据源包含在动态视图面板中?
我已经检查了文档,但是我看不到如何让按钮识别所选文档.谁能帮我这个?
我有以下测试XPage.
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xe="http://www.ibm.com/xsp/coreex">
<xp:panel id="pagePanel">
<xp:text escape="true" id="didThePageCompile">
<xp:this.value><![CDATA[#{javascript:var d = new Date();
return d.toLocaleString();}]]></xp:this.value>
</xp:text>
<xp:br></xp:br>
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="dialog1"
onStart="XSP.openDialog('#{id:dialog1}')"
onComplete="XSP.closeDialog('#{id:dialog1}')">
<xp:this.action><![CDATA[#{javascript:var agent = database.getAgent("runLongTime");
var response = agent.run();
// var d = getComponent("dialog1");
// d.show();
}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
<xe:dialog id="dialog1" title="Test Dialog">This is a test dialog</xe:dialog></xp:panel>
</xp:view>
Run Code Online (Sandbox Code Playgroud)
代理"runLongTime"只是睡了10秒钟.这很好用.当我单击按钮时,对话框不会显示.我检查了源代码并生成了正确的代码,当我手动将其放入控制台时,该代码可以正常工作.
我没有得到任何错误,代理执行正常.我也尝试将refreshId更改为"pagePanel",但仍然相同.
我使用extlib Dialog组件来显示一些数据.我希望用户只通过我在其中的按钮关闭对话框.
我看不到任何选项来禁用标题栏中的关闭图标.有人能指出我这样做的文件吗?到目前为止,我已经检查了wiki + extlib书(也许我错过了它?).
所以我有一些Java代码需要一些时间来完成(大约2分钟).我无能为力.
但我想知道如何在XPage UI中最好地处理这个问题,以便用户可能仍然需要等待,但在运行时有更多的控制/交互(不仅仅是旋转轮).
所以我可以看到我可以做到以下几点.
还有其他方法吗?
如果您在XPage中创建了该线程,是否会在服务器端导致任何问题?我是否必须避免在Java类中使用Notes对象?