我需要捕捉视图面板的当前页码。我试图获取一些属性寻呼机组件,但发现没有返回此值。是否有人知道如何获取当前页号的值。
我试图应用此帖子(Catching the Page Number)的响应中所指示的方法,但单击错误消息页中的页面,对象不支持属性或方法“addEventListenter”。
发布于 2016-10-30 07:09:42
我接受了您的代码,并对它做了一些修改,这样它就显示了names.nsf的视图($Users),这样每个人都可以测试它。
我设置了不同的主题,如"webstandard“、"OneUI”、"OneUI V3.0.2“和"Bootstrap3”--所有这些都很好。

XPage:
<?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">
<xp:viewPanel rows="3" id="viewPanel1">
<xp:this.facets>
<xp:pager partialRefresh="true" layout="Previous Group Next"
xp:key="headerPager" id="pager1">
</xp:pager>
<xc:ccPegaPagina xp:key="south" />
</xp:this.facets>
<xp:this.data>
<xp:dominoView var="view1" databaseName="names.nsf"
viewName="($Users)">
</xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="FullName" id="viewColumn5">
<xp:this.facets>
<xp:viewColumnHeader value="Full name" xp:key="header"
id="viewColumnHeader5">
</xp:viewColumnHeader>
</xp:this.facets>
</xp:viewColumn>
</xp:viewPanel>
</xp:view>自定义控件"ccPegaPagina":
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:eventHandler event="onClientLoad" submit="false">
<xp:this.script><![CDATA[ dojo.query('[id$=pager1] a').forEach(function(entry) {
entry.addEventListener("click", function() {
alert(this.innerHTML);
});
});]]></xp:this.script>
</xp:eventHandler>
</xp:view>将代码放入没有任何属性更改的新数据库中,并对其进行测试。如果这能成功的话。
更新
正如我们在评论中指出的那样,它在IE 7和8中不起作用。
这同样适用于兼容模式7和8的IE11。
这是正常的,因为addEventListener最初是在IE9中提供的。
因此,该解决方案至少需要IE9或任何其他现代浏览器。
发布于 2016-10-28 12:03:15
<!-- language: lang-js -->
<?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">
<xp:viewPanel
rows="30"
id="viewPanel1">
<xp:this.facets>
<xp:pager
partialRefresh="true"
layout="Previous Group Next"
xp:key="headerPager"
id="pager1">
</xp:pager>
<xc:ccPegaPagina xp:key="south" />
</xp:this.facets>
<xp:this.data>
<xp:dominoView
var="view1"
databaseName="xxxx.nsf"
viewName="vi_xxxx">
</xp:dominoView>
</xp:this.data>
<xp:viewColumn
columnName="nm_xxxx"
id="viewColumn1">
<xp:viewColumnHeader
value="Nome xxxxx"
id="viewColumnHeader1">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn
columnName="Fonexxx"
id="viewColumn2">
<xp:viewColumnHeader
value="Tel. xxx"
id="viewColumnHeader2">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn
columnName="celular xxx"
id="viewColumn3">
<xp:viewColumnHeader
value="Celular particular xxx"
id="viewColumnHeader3">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn
columnName="FoneResidencial xxx"
id="viewColumn4">
<xp:viewColumnHeader
value="Tel Residencial xxxx"
id="viewColumnHeader4">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>
</xp:view>
The custom control:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:eventHandler
event="onClientLoad"
submit="false">
<xp:this.script><![CDATA[ dojo.query('[id$=pager1] a').forEach(function(entry) {
entry.addEventListener("click", function() {
alert(this.innerHTML);
});
});]]></xp:this.script>
</xp:eventHandler></xp:view>https://stackoverflow.com/questions/40261359
复制相似问题